配置项
配置项在边缘Kubernetes集群中是通过ConfigMap资源对象来实现的,配置项功能可以管理边缘集群的ConfigMap资源,您可以在自己的容器中直接挂载并使用ConfigMap资源。
配置项价值如下:
- 使用配置项功能可以帮您管理不同环境、不同业务的配置。
- 方便您部署相同工作负载的不同环境,配置文件支持多版本,方便您进行更新和回滚工作负载。
- 方便您快速将您的配置以文件的形式导入到容器中。

配置项功能,会隐藏显示系统应用的配置,以及命名空间为kube-system、kube-public、kube-node-lease的配置。
场景说明
应用经常有从配置文件、命令行参数或者环境变量中读取一些配置信息的需求,例如您的应用连接一个redis服务,在不同运行环境需要不同的配置,如果配置信息直接硬编码到应用程序中,那么就需要修改代码中的配置并重新制作镜像。而ConfigMap提供了向容器中注入配置信息的能力,可以用ConfigMap来保存整个redis的配置文件,更换配置或环境时,不需要重新制作镜像,直接修改ConfigMap的配置数据即可。
操作步骤
- 访问IoT边缘,单击“管理控制台”进入IoT边缘控制台。
- 选择左侧导航栏“边缘集群 > 集群管理”进入页面,选择“状态”为“运行中”的集群,单击“边缘集群名称”进入集群概览页。
- 在左侧导航栏选择“应用配置”进入配置项页。
- 单击页面左上角“创建配置项”,在弹窗中按照表1填写配置项参数。
配置项会明文展示所输入信息,请不要填入敏感信息,如涉及敏感信息,请先加密,防止信息泄露。
图1 创建配置项 - 配置完成后,单击“确认”即可创建配置项,配置项列表中会出现新创建的配置项。
使用配置项
- 按照上述操作步骤创建配置项,以表2为例,将在边缘集群中创建下面这个ConfigMap。
apiVersion: v1 kind: ConfigMap metadata: name: iot-configmap data: SPECIAL_LEVEL: Hello SPECIAL_TYPE: IoT
- 创建自己的模板应用,将ConfigMap以数据卷的形式挂载到容器,然后就可以在应用中使用配置项了。如下面的示例所示,配置项挂载完成后,最终会在容器中的/etc/config目录下生成以配置项中的key为文件名, value为文件内容的配置文件。下面会在应用运行正常后,生成“SPECIAL_LEVEL”和“SPECIAL_TYPE”两个文件,且文件的内容分别为“Hello”和“IoT”。
apiVersion: apps/v1 kind: Deployment metadata: name: nginx-demo spec: replicas: 1 selector: matchLabels: app: nginx-demo template: metadata: labels: app: nginx-demo spec: containers: - name: container-1 image: nginx:latest volumeMounts: - name: config-volume mountPath: /etc/config # 挂载到/etc/config目录下 volumes: - name: config-volume configMap: name: iot-configmap # 引用的配置项名称
- 按照操作步骤创建应用模板。
- 按照操作步骤添加应用版本。
- 按照操作步骤部署应用到边缘集群。
- 也可以为应用增加一些监测配置文件变更的功能或脚本,然后更新配置项,可以实现配置信息的热更新。