k8s之ConfigMap && secret

ConfigMap 提供了向容器中注入配置信息的能力,不仅可以用来保存单个属性,也可以用来保存整个配置文件。

比如我们可以用来配置一个 服务的访问地址,也可以用来保存整个的配置文件。

ConfigMap 资源对象使用 key-value 形式的键值对来配置数据,这些数据可以在 Pod 里面使用。

创建ConfigMap,可以通过yaml文件,也可以通过kubectl create 指令进行创建。具体的可参考 kubectl creat --help 

在pod里使用这些数据的时候,

1、可以直接读取key,

2、也可以通过存储卷使用,读取指定路径下的文件,也可以在 configmap值被映射的数据卷里去控制路径。

例如:如果/root/czz_test_log/ 后面没有指定的路径了,可以通过映射的数据卷去控制路径。

kubectl logs $podName 去查看 configmap 注入的内容。与 kubectl describe cm $cmName 中的 data 信息进行对比。

Secret

secret 有三种类型:

Opaque: base64编码

kubernetes.io/dockerconfigjson: 用来存储docker registry的认证信息

kubernetes.io/service-account-token: 用于被serviceaccount 引用

Opaque:

以用户名和密码为例:

先将其做base64 编码:

以 yaml 文件创建secret:

可以使用kubectl get secret 查看

kubectl describe secret $secretName 查看secret详情

kubectl get secret $secretName -o yaml 输出成yaml文件进行查看

创建好secret之后,有两个方式去使用它。

1、以环境变量的形式

2、以Volume的形式进行挂载

可以以 echo $64_content | base64 -d 解码base64编码

原文地址:https://www.cnblogs.com/czz-zone/p/14190105.html