<svg xmlns="http://www.w3.org/2000/svg" style="display: none;"> <path stroke-linecap="round" d="M5,0 0,2.5 5,5z" id="raphael-marker-block" style="-webkit-tap-highlight-color: rgba(0, 0, 0, 0);"></path> </svg> <p><img src="https://i-blog.csdnimg.cn/direct/b47b46558d0e60e83c2514a6.png" alt="在这里插入图片描述" /></p>
讯享网
- kubernetes集群可以使用ConfigMap来实现对容器中应用的配置管理。
- 可以把ConfigMap看作是一个挂载到pod中的存储卷
1.2.1 在命令行指定参数创建
通过直接在命令行中指定configmap参数创建,即;
讯享网
讯享网
1.2.2 在命令行通过多个文件创建
通过指定文件创建,即将一个配置文件创建为一个ConfigMap,;
讯享网
1.2.3 在命令行通过文件提供多个键值对创建
通过一个文件内多个键值对,;
讯享网
讯享网
1.2.4 通过YAML资源清单文件创建
通过 创建
讯享网
1.3.1 通过环境变量的方式传递给pod
讯享网
讯享网
1.3.2 通过volume的方式挂载到pod内
讯享网
讯享网
1.4.1 ConfigMap热更新方式
如果修改了value, 那么容器内部会不会更新?
- 通过环境变量的方式传递给pod。这种方式不会热更新
- 通过volume的方式挂载到pod内。这种方式会热更新,大概需要半分钟左右。
1.4.2 ConfigMap热更新验证
1.4.2.1 通过环境变量方式
此种方式不会热更新
1.编辑修改对应的configmap
讯享网
- 验证对应的pod里的变化,发现很久都不会改变(环境变量方式)
1.4.2.2 通过volume方式
- 编辑修改对应的configmap
讯享网
2.验证对应的pod里的变化,一段时间后会改变(卷挂载方式)
- Secret与ConfigMap类似,主要的区别是ConfigMap存储的是明文,而Secret存储的是密文。
- ConfigMap可以用配置文件管理,而Secret可用于密码、密钥、token等敏感数据的配置管理。
Secret有4种类型:
- Opaque: base64编码格式的Secret,用来存储密码、密钥、信息、证书等,类型标识符为generic
- Service Account: 用来访问Kubernetes API,由Kubernetes自动创建,并且会自动挂载到Pod的/var/run/secrets/kubernetes.io/serviceaccount目录中
- kubernetes.io/dockerconfigjson: 用来存储私有docker registry的认证信息,类型标识为docker-registry。
- kubernetes.io/tls: 用于为SSL通信模式存储证书和私钥文件,命令式创建类型标识为tls。
讯享网
创建mysql管理员密码Secret案例,使用Opaque类型来创建mysql密码Secret
2.3.1 将明文密码进行base64编码
Opaque类型密码需要进行base64编码
2.3.2 编写创建secret的YAML文件
讯享网
2.3.3 创建secret并确认
讯享网
2.4.1 通过环境变量的方式传递给pod
- 编写pod的YAML文件使用Secret
2.创建pod
讯享网
3.验证pod
4.验证传入pod的变量效果
讯享网
2.4.2 通过volume的方式挂载到pod内
1.编写pod的YAML文件使用Secret
2.创建pod
讯享网
3.验证pod
4.验证
讯享网
5.热更新测试
讯享网


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/181842.html