十三、管理应用程序配置

本文介绍了Kubernetes中ConfigMap和Secret两种配置管理机制,包括它们的应用场景、创建方法以及Pod如何使用。重点讨论了如何动态更新运行中的应用程序配置,如通过ConfigMap的变更自动加载或重启服务等策略。
摘要由CSDN通过智能技术生成

一、ConifgMap

创建ConfigMap后,数据实际会存储在k8s的Etcd中,然后通过创建pod时引用该数据

应用场景:应用程序配置

Pod使用configmap数据有两种形式:

a、变量注入:将键值数据类型注入到容器系统变量,程序读取系统变量获取到值

b、数据卷挂载:将数据挂载到容器中某个目录,程序读取这个文件,如果是配置文件,程序默认有配置文件目录,那就直接挂载到指定的目录即可

示例:

configmap.yaml

两种数据类型:键值;多行数据。

# kubectl apply -f configmap.yaml

# kubectl get configmap

键值:ABCD->abc->123;CDEF->cde->456;redis挂载方式

二、Secret

与configmap类似,区别在于Secret主要存储敏感数据,所有的数据要经过base64编码。

应用场景:凭据

kubectl create secret支持三种数据类型:

a、docker-registry(kubernetes.io/dockerconfigjson):存储镜像仓库认证信息

b、generic(Opaque):存储密码、秘钥等

c、tls(kubernetes.io/tls):存储TLS证书

账号密码示例;

Pod使用Secret数据与Configmap方式一样

# kubectl apply -f secret.yaml

三、应用程序如何动态更新配置

应用程序正在运行,如果修改配置文件,会不会立即生效:

a、热启,通过程序加载

b、一般都是冷处理,重启应用

c、给程序预留一个接口,用于通知动态加载配置,如:nginx -s reload

d、采用配置管理系统。如:apollo、disconf等

应用程序动态更新配置方案:

a、当ConfigMap发生变更时,应用程序自动感知动态加载(需要程序自身支持)

b、触发滚动更新,即重启服务

  • 4
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值