使用範圍:
統一配置中心,保存在etcd集羣中,更新不是很及時
configmap和secret區別
- kubectl describe 對應信息,configmap顯示鍵值 secret只顯示鍵不顯示值
- kubectl get 對應信息,configmap明文顯示 secret base64位加密顯示
configMap作爲配置文件使用
創建文件類型
kubectl create configmap my-config --from-file=key1=/path/to/bar/file1.txt
使用
在pod中定義使用
apiVersion: v1
kind: Pod
metadata:
name: configmap-pod
spec:
containers:
- name: test
image: busybox
volumeMounts:
- name: config-vol
mountPath: /etc/config
volumes:
- name: config-vol
configMap:
name: my-config
然後文件my-config就掛載在pod /etc/config目錄下
key value的configmap
kubectl create configmap my-config key=value
注意
- volumeMounts下面如果有多條,mountPath不能一致
- 如果沒有配置subPath,則configMap默認會將掛載目錄東西全部覆蓋,如果只是要掛載一個文件到一個目錄,則需要加上subPath,pod掛載範例如下。
volumeMounts:
- name: config-vol
mountPath: /etc/config.conf
subPath: config.conf #如果加上subPath 寫上文件名,代表掛載的是文件,不會將原目錄覆蓋,但是如果有源文件會被覆蓋