k8s configmap

作者: carvin | 来源:发表于2022-01-18 14:57 被阅读0次

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


image.png
  1. 查看configmap里面的键值

kubectl describe cm nginx-from


image.png

二、通过文件的形式来创建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

image.png
  1. 查看configmap:

Kubectl get configmap

image.png
  1. 查看configmap里面的键值

Kubectl get cm nginx-www –o yaml

image.png

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

  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

image.png

Pod运行正常,创建成功。

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

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

printenv

image.png

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

方法二、

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

  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

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


    image.png

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

方法三:

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

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

image.png

验证成功。

相关文章

网友评论

    本文标题:k8s configmap

    本文链接:https://www.haomeiwen.com/subject/dxrkhrtx.html