在 Kubernetes(K8s)环境中,应用配置管理是实现灵活部署和动态调整的重要环节。以下是如何从零开始实现应用配置管理的详细步骤,基于阿里云相关产品的功能说明。
一、创建应用时配置管理
在创建 K8s 应用时,可以通过以下方式实现配置管理:
1. 配置微服务治理
- 服务注册与发现:
在创建应用时,可以选择是否启用服务注册与发现功能。支持使用 EDAS 共享注册中心或应用程序自定义的注册中心。
- 推空保护:
开启推空保护后,当 Consumer 订阅到空列表时,系统会丢弃变更以保障业务服务可用性;否则会导致业务中断报错。
- 无损上线:
开启无损上线功能后,可以设置预热时长(默认 120 秒)和预热曲线,确保复杂应用在启动时逐步分配流量权重,避免流量冲击。
2. 配置日志收集
- 在创建应用时,可以在 应用高级设置 中开启日志收集功能,并将日志发送至 SLS 日志服务。
- 关键配置项:
- 日志库名称:指定日志存储的目标日志库。
- 采集日志类型:选择文件日志(容器内路径)或容器标准输出日志。
- 采集路径:指定容器内的日志路径,例如
/usr/local/tomcat/logs/catalina.*.log
。
3. 配置本地存储
- 支持两种本地存储类型:
- 宿主机本地文件:可选择挂载模式(如只读或可读写),并指定文件类型(如目录、文件、Socket 等)。
- emptyDir:临时存储卷,生命周期与 Pod 相同,适合临时数据存储。
4. 注入配置信息(ConfigMap)
- 在创建应用时,可以通过 ConfigMap 将配置信息注入到容器中:
- 挂载路径:指定配置项的挂载路径。
- 键值对:可以选择挂载全部键或指定键。
- 环境变量:支持将配置项作为环境变量注入容器运行环境,便于动态调整配置。
二、更新应用时配置管理
如果在创建应用时未完成某些配置,可以在更新应用时进行补充或修改。
1. 更新微服务治理
- 登录 EDAS 控制台,进入目标应用的 基本信息 页面,选择 部署 > 部署。
- 展开 微服务治理 区域,根据需求配置服务注册与发现、推空保护或无损上线功能。
2. 更新日志收集
- 在更新应用时,展开 日志收集设置,开启日志收集功能并配置相关信息。
- 重要提醒:更新日志收集配置后,应用会被重启,请在业务低峰期操作。
3. 更新本地存储
- 在更新应用时,展开 本地存储 区域,根据需求添加或修改存储配置。
- 重要提醒:更新本地存储配置后,应用会被重启,请在业务低峰期操作。
4. 更新配置项(ConfigMap)
- 在更新应用时,展开 配置管理 区域,选择已创建的配置项或新建配置项。
- 验证配置生效:
- 查看 变更记录 页面,确认显示为 执行成功。
- 查看实例的 运行状态,确认显示为 Running。
三、验证配置是否生效
无论是在创建应用还是更新应用时,都可以通过以下方式验证配置是否生效: 1. 查看变更记录:
在应用 基本信息 页面左侧导航栏,单击 变更记录,查看应用变更详情。如果显示 执行成功,表示配置已生效。 2. 检查实例运行状态:
在应用 基本信息 页面,单击 实例部署信息 页签,查看实例的 运行状态。如果显示为 Running,表示配置已生效。 3. 检查服务访问设置:
在应用 基本信息 页面的 应用访问设置 区域,查看服务发现的配置信息。如果显示已配置的服务名称、端口与协议,表示配置已生效。
四、注意事项
- 业务低峰期操作:
重新部署应用后,该应用将会被重启。为避免业务中断等不可预知的错误,请务必在业务低峰期执行部署操作。
- 日志源存放目录:
日志源的存放目录须包含日志的文件名,且请勿在日志源的存放目录中存放其他重要文件,谨防目录内的文件被覆盖。
- 配置项命名空间:
如果需要引用 ConfigMap,请确保其已在对应的命名空间中创建。
通过以上步骤,您可以从零开始实现 K8s 应用的配置管理,包括微服务治理、日志收集、本地存储和配置项注入等功能。这些配置能够帮助您更高效地管理和优化应用运行环境。