参考链接https://blog.csdn.net/qq_37200100/article/details/125462917

步骤1:创建configmap

方法1:命令行设定configmap
kubectl create configmap config1 --from-literal=REDIS_LOCATION=redis://default:redis654321@10.41.241.169:30394  --from-literal=DJANGO_DEBUG=False

注意DJANGO_DEBUG如果是bool值是不能生效的。

方法2:yaml档来设定configmap
apiVersion: v1
kind: ConfigMap
metadata:
  name: config1
data:
  DJANGO_DEBUG: 'False'
  REDIS_LOCATION: REDIS_LOCATION=redis://default:redis654321@10.41.241.169:30394

方法3:racher直接keyin configmap

在这里插入图片描述

方法4:racher上传configmap文件

在这里插入图片描述

文件

REDIS_LOCATION=redis://default:redis654321@10.41.241.169:30394
DJANGO_DEBUG=False

步骤2:查看或修改configmap

在这里插入图片描述
也可以通过命令行kubectl get configmap -o yaml来查看。

- apiVersion: v1
  data:
    DJANGO_DEBUG: "False"
    REDIS_LOCATION: redis://default:redis654321@106.52.14.84:6379
  kind: ConfigMap
  metadata:
    creationTimestamp: "2022-09-15T13:15:14Z"
    name: config1
    namespace: default
    resourceVersion: "29647"
    uid: f295bbfa-aa83-401b-8b4b-6be2eea3ed21

步骤3:使用configmap来配置

可以使用环境变量

  env:
  - name: REDIS_LOCATION
    valueFrom:
      configMapKeyRef:
        name: config1
        key: REDIS_LOCATION
  - name: DJANGO_DEBUG
    valueFrom:
      configMapKeyRef:
        name: config1
        key: DJANGO_DEBUG

完整的web的yaml档案

apiVersion: apps/v1
kind: Deployment
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.24.0 (7c629530)
  creationTimestamp: null
  labels:
    io.kompose.service: web
  name: web
spec:
  replicas: 1
  selector:
    matchLabels:
      io.kompose.service: web
  strategy:
    type: Recreate
  template:
    metadata:
      annotations:
        kompose.cmd: kompose convert
        kompose.version: 1.24.0 (7c629530)
      creationTimestamp: null
      labels:
        io.kompose.service: web
    spec:
      containers:
        - command:
            - /bin/sh
            - /code/package/start.sh
          image: seasonzhang/gaga_meeting:0.9.15
          imagePullPolicy: IfNotPresent
          name: gaga-meeting-web
          ports:
            - containerPort: 8000
          resources:
            requests:
              cpu: 500m
              memory: 500Mi
            limits:
              cpu: 500m
              memory: 500Mi
          env:
          - name: REDIS_LOCATION
            valueFrom:
              configMapKeyRef:
                name: config1
                key: REDIS_LOCATION
          - name: DJANGO_DEBUG
            valueFrom:
              configMapKeyRef:
                name: config1
                key: DJANGO_DEBUG

        - command:
            - /bin/sh
            - /code/package/start-beat.sh
          image: seasonzhang/gaga_meeting:0.9.15
          name: gaga-meeting-beat
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 200m
              memory: 200Mi
              
        - command:
            - /bin/sh
            - /code/package/start-celery.sh
          image: seasonzhang/gaga_meeting:0.9.15
          name: gaga-meeting-celery
          resources:
            requests:
              cpu: 100m
              memory: 100Mi
            limits:
              cpu: 200m
              memory: 200Mi
---
apiVersion: v1
kind: Service
metadata:
  annotations:
    kompose.cmd: kompose convert
    kompose.version: 1.24.0 (7c629530)
  creationTimestamp: null
  labels:
    io.kompose.service: web
  name: web
spec:
  type: LoadBalancer
  ports:
    - name: "8000"
      port: 8000
      targetPort: 8000
      rotocol: TCP
  selector:
    io.kompose.service: web
  externalIPs: #集群内互访
    - 10.0.8.10
    - 10.43.207.93
status:
  loadBalancer: {}

步骤4:Django web应用的settings中需要预留环境变量栏位

REDIS_LOCATION = os.environ.get('REDIS_LOCATION',"redis://default:redis654321@106.52.14.84:6379")
DJANGO_DEBUG = os.environ.get('DJANGO_DEBUG', True)

启动成功

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐