1.configmap
configmap和secret是两种特殊的存储卷,它们不是给pod提供存储空间用的,而是给管理员或者用户提供了从外部向pod内部注入信息
的方式.
configmap:把配置文件放在配置中心上,然后多个pod读取配置中心的配置文件,不过,configmap中的配置信息都是明文的,所以不安全;
secret:功能和configmap一样,只不过配置中心存储的配置文件不是明文的.configmap和secret也是专属于某个名称空间的.
2. configmap配置管理
创建configmap的方式有4中:
使用字面值创建
使用文件创 建
使用目录创建
编写configmap的yaml文件创建
(1)使用字面值创建
[kubeadm@server1 configmap]$ kubectl create configmap my-config --from-literal=key1=config1 --from-literal=key2=config2
configmap/my-config created
[kubeadm@server1 configmap]$ kubectl get cm
NAME DATA AGE
my-config 2 10s
[kubeadm@server1 configmap]$
(2)使用文件创建
key的名称是文件名称,value的值是文件的内容
[kubeadm@server1 configmap]$ kubectl create configmap my-config --from-file=/etc/resolv.conf
configmap/my-config created
[kubeadm@server1 configmap]$ kubectl describe cm my-config
Name: my-config
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
resolv.conf:
----
nameserver 114.114.114.114
Events: <none>
[kubeadm@server1 configmap]$
(3)使用目录创建
目录中的文件名为key,文件内容是value
[kubeadm@server1 configmap]$ mkdir test
[kubeadm@server1 configmap]$ cp /etc/resolv.conf test/
[kubeadm@server1 configmap]$ cp /etc/fstab test/
[kubeadm@server1 configmap]$ kubectl create configmap my-config --from-file=test
configmap/my-config created
[kubeadm@server1 configmap]$ kubectl describe cm my-config
Name: my-config
Namespace: default
Labels: <none>
Annotations: <none>
Data
====
fstab:
----
#
# /etc/fstab
# Created by anaconda on Fri Apr 3 17:04:38 2020
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/rhel-root / xfs defaults 0 0
UUID=46f85322-0598-4819-92a1-41e196855a7e /boot xfs defaults 0 0
#/dev/mapper/rhel-swap swap swap defaults 0 0
resolv.conf:
----
nameserver 114.114.114.114
Events: <none>
[kubeadm@server1 configmap]$
&#