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即可


本文详细介绍了Kubernetes中ConfigMap和Secret的相关知识。包括ConfigMap的概念、三种创建方式(目录、文件名、字面值)、在Pod中的使用方法及热更新,还阐述了Secret的概念、三种类型(Service Account、Opaque Secret等)以及使用方式,如挂载到Volume、导入环境变量等。
2784

被折叠的 条评论
为什么被折叠?



