ConfigMap概念
创建config map 3种方式
1.使用目录创建
将*.properties文件创建在某个目录下面,并且文件内容为key=value的格式
kubectl create configmap configmap名称 --from-file=文件目录
创建完configmap后
kubectl get cm configmap名称
查看创建的configmap
kubectl get cm configmap名称 -o yaml
查看创建configmap的yaml
2.使用文件名创建
kubectl create configmap configmap名称 --from-file=文件名
和使用目录创建区别,一个是目录一个是文件名
kubectl describe cm configmap名称
3.使用字面值创建
kubectl create configmap configmap名称 --from-literal=key=value --from-literal=key=value
Pod中使用configmap
1.使用configmap中的值
创建完pod后查看pod中的日志
2.在命令行中使用configmap中的值
3.通过数据卷插件使用configmap
进入启动的pod中,
kubectl exec pod名称 -it -- /bin/bash
进入pod查看/etc/config目录下可以看到挂载的2个configmap的key
configmap热更新
修改configmap kubectl edit conifgmap configmap名称
,将configmap日志级别key=log_level改为DEBUG级别
kubectl exec pod名称 -it -- cat /etc/config/log_level
即可查看到pod中的log_level热更新成了debug级别
Secret概念
Secret有3中类型
Service Account
所有需要访问k8s api service的都需要service Account
以kube-proxy为例会访问api service
进入/run/secrets/kubernetes.io/serviceaccount/ 目录下,有3个文件组成sa以访问api service
Opaque Secret
将base64位加密的数据账号密码填入yaml中
secret使用方式
1.将secret挂载到Volume中
创建pod
kubectl exec pod名称 -it -- /bin/sh
进入容器进入挂载secret目录/etc/secrets中即可看到改secret的2个文件,并且secrets中的文件内容时解密后的内容
2.将secret导入到环境变量中
创建完deploymnet后进入pod中echo环境变量 即可查看到对应secret的值
3.当使用私服harbor镜像仓库的时候拉取镜像需要使用到secret
生成secret
pod中拉取镜像指定imagePullSecrets创建的secret即可