k8s configmap

configmap

一、通过命令来创建configmap和键值

  1. 使用命令添加环境变量:kubectl create configmap nginx-from –from-literal=nginx_port=80 –from-literal=server_name=myapp.jinlong.com

  2. 查看configmap:

kubectl get configmap

k8s  configmap

  1. 查看configmap里面的键值

kubectl describe cm nginx-from

k8s  configmap

二、通过文件的形式来创建configmap和键值。

  1. 创建文件。

vim www.conf

server{

       server_name myapp.jinlong.com

       listen 80

       root /data/web/html/;

}

  1. 使用文件开始创建configmap和键值。

kubectl create configmap nginx-www –from-file=./www.conf

k8s  configmap

  1. 查看configmap:

Kubectl get configmap

k8s  configmap

  1. 查看configmap里面的键值

Kubectl get cm nginx-www –o yaml

k8s  configmap

标红色的为文件里面的键值。

  1. 创建pod,将键值注入到pod中。

vim pod-configmap.yaml

apiVersion: v1

kind: Pod

metadata:

  name: pod-cm-1

  namespace: default

  labels:

    app: myapp

    tier: frontend

  annotations:

    jinlong.com/created-by: "cluster admin"

spec:

  containers:

  - name: myapp

    image: ikubernetes/myapp:v1

    ports:

    - name: http

      containerPort: 80

    env:

    - name: NGINX_SERVER_PORT

      valueFrom:

        configMapKeyRef:

          name: nginx-from

          key: nginx_port

    - name: NGINX_SERVER_NAME

      valueFrom:

          configMapKeyRef:

            name: nginx-from

            key: server_name

kubectl apply -f pod-configmap.yaml

查看pod是否创建成功

Kubectl get pod

k8s  configmap

Pod运行正常,创建成功。

  1. 进入pod查看键值是否注入成功。

kubectl exec -it pod-cm-1 — /bin/sh

printenv

k8s  configmap

查看的我们的注入数据,说明注入成功的。

方法二、

通过文件挂在的方式注入键值。

  1. 创建文件

vim pod-congfigmap-2.yaml

apiVersion: v1

kind: Pod

metadata:

  name: pod-cm-2

  namespace: default

  labels:

    app: myapp

    tier: frontend

  annotations:

    jinlong.com/created-by: "cluster admin"

spec:

  containers:

  - name: myapp

    image: ikubernetes/myapp:v1

    ports:

    - name: http

      containerPort: 80

    volumeMounts:

    - name: nginxconf

      mountPath: /etc/nginx/config.d/

      readOnly: true

  volumes:

  - name: nginxconf

    configMap:

      name: nginx-from

kubectl apply -f pod-configmap-2.yaml

  1. 查看pod是否正常。

Kubectl get pod

k8s  configmap

  1. 进入pod,查看键值是否注入。

    k8s  configmap

键值名在所在的目录,键值在所采的文件。说明键值注入成功。

方法三:

挂在文件的方式,注入环境变量。

vim pod-configmap-3.yaml


apiVersion: v1

kind: Pod

metadata:

  name: pod-cm-3

  namespace: default

  labels:

    app: myapp

    tier: frontend

  annotations:

    jinlong.com/created-by: "cluster admin"

spec:

  containers:

  - name: myapp

    image: ikubernetes/myapp:v1

    ports:

    - name: http

      containerPort: 80

    volumeMounts:

    - name: nginxconf

      mountPath: /etc/nginx/conf.d/

      readOnly: true

  volumes:

  - name: nginxconf

    configMap:

      name: nginx-www

验证是否注入键值和文件

kubectl exec -it pod-cm-3 — /bin/sh

k8s  configmap

验证成功。

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
少女皇甫翠花的头像 - 宋马
评论 抢沙发

请登录后发表评论

    暂无评论内容