一、configmap编辑方式
### --- 编辑configmap的形式:
~~~ 方式一: edit:显示文件内容会很杂乱,不是很标准的显示内容,造成视觉的难理解。若是文件特别小的话,它会把文件内容显示在configmap的文件中,若是文件特别长的话,它是不会把文件内容显示在configmap文件中,只会显示文件的大小。
~~~ 方式一: 可以把这个文件导出一个yaml文件,更改里面的内容,然后replace一下。
~~~ 方式二: 资源管理平台,直接在平台编辑,
~~~ 方式三: --dry-run -oyaml;可以使用这个参数解决
### --- 创建configmap
~~~ kubectl create cm nginx-conf --from-file=nginx.conf把这个命令执行的结果打印出来,
~~~ 但是不把它发给kubeapiserver;
~~~ 所以说它不会被执行,只是被打印出来。
[root@k8s-master01 ~]# kubectl create cm nginx-conf --from-file=nginx.conf --dry-run -oyaml
[root@k8s-master01 ~]# vim nginx.conf
user nginx;
worker_processes 3; // 将它的值更改为3
### --- 执行更新命令
~~~ --from-file在replace是不支持的,是没有这个参数的
[root@k8s-master01 ~]# kubectl create cm nginx-conf --from-file=nginx.conf --dry-run -oyaml | kubectl replace -f-
[root@k8s-master01 ~]# kubectl replace cm nginx-conf --from-file=nginx.conf
Error: unknown flag: --from-file
See 'kubectl replace --help' for usage.
[root@k8s-master01 ~]# kubectl get cm nginx-conf -oyaml
apiVersion: v1
data:
nginx.conf: "\r\nuser nginx;\r\nworker_processes // 查看它的worker_processes的值已经变成3了
[root@k8s-master01 ~]# kubectl create -h | grep dry-run
--dry-run='false' // 默认是false,若是更改为true,它就会只打印这个对象,只打印你发送的这个对象,不会发布到kubeapiserver,只会把你写入的内容打印出来即可。相当于替你写一个yaml文件,你不用去写yaml文件了。然后再去执行它
### --- 查看它的值是否被更新
[root@k8s-master01 ~]# kubectl exec -ti demo-nginx-5d64cb8bf7-bmqbc -- cat /mnt/nginx.conf
user nginx;
worker_processes 3; // 更新完成。