ConfigMap和Secret幾乎同樣,只是Secret會用base64加密,建立方式也能夠彩yaml或者文件方式
下面演示一下經過文件建立configmap
建立配置文件my.yamlubuntu
name: chenqionghe light.weight: baby gym: muscle
經過文件建立ConfigMapapi
kubectl create configmap my-config --from-file=./my.yaml
查看configmap對象app
root@VM-0-8-ubuntu:/home/ubuntu# kubectl get configmaps my-config -o yaml apiVersion: v1 data: my.yaml: | name: chenqionghe light.weight: baby gym: muscle kind: ConfigMap metadata: creationTimestamp: 2019-09-27T16:43:53Z name: my-config namespace: default resourceVersion: "2139336" selfLink: /api/v1/namespaces/default/configmaps/my-config uid: fd4aeb09-e145-11e9-8c22-f242c645cfec
建立經過pod使用ConfigMapui
apiVersion: v1 kind: Pod metadata: name: test-configmap spec: containers: - name: test-configmap image: busybox args: - sleep - "86400" volumeMounts: - name: config-volume mountPath: "/app/conf" readOnly: true volumes: - name: config-volume configMap: name: my-config
執行建立pod加密
root@VM-0-8-ubuntu:/home/ubuntu# kubectl apply -f test-config-pod.yaml pod/test-configmap created
查看pod已經建立spa
root@VM-0-8-ubuntu:/home/ubuntu# kubectl get po NAME READY STATUS RESTARTS AGE demo-deployment-555958bc44-llhr9 1/1 Running 0 20d test-configmap 1/1 Running 0 1m
進入pod查看,發現/app/conf已經掛載上了my.yaml文件code
root@VM-0-8-ubuntu:/home/ubuntu# kubectl exec -it test-configmap -- /bin/sh / # ls /app/conf my.yaml / # cat /app/conf/my.yaml name: chenqionghe light.weight: baby gym: muscl