配置项
配置项是一种用于存储应用所需配置信息的资源类型,配置项允许您将配置文件从应用容器镜像中解耦,从而增强应用的可移植性。和密文类型配置存储敏感信息不同,配置项主要用于存储常规的配置信息,例如一组配置文件。应用将配置项以数据卷挂载的方式使用。例如,在“卷配置”中挂载配置项类型的卷,使其成为 Pod 中的文件。对于配置项的任何更新,都会通过 Report/Desire 机制自动更新到正在使用它的 Pod 里。更多信息请参阅 Kubernetes文档。
设计理念
配置项是对应用所需配置信息的抽象,例如管理配置文件、AI 模型等资源。配置项可实现资源的隔离和共享。应用服务只有挂载配置项后才能使用配置项里的资源;多个应用服务可以挂载同一个配置项从而实现共享。
配置项价值如下:
- 使用配置项功能可以帮您管理不同环境、不同业务的配置
- 方便您部署相同工作负载的不同环境,配置文件支持多版本,方便您进行更新和回滚工作负载
- 方便您快速将您的配置以文件的形式导入到容器中
分类
目前配置项分为普通配置项和函数配置项。函数配置项用于存储函数应用需要加载的程序脚本,支持 Python36、Nodejs10、SQL等运行时。函数配置项文档请参考函数相关文档,本文仅介绍普通配置项相关内容。
创建配置项
- 选择左侧导航栏 "配置管理 > 配置项 > 创建配置项";
-
填写配置项信息
- 名称:配置项名称,不可为空,不可重复
- 描述:配置项描述信息,可为空
- 配置项:配置项内容,支持添加配置数据与引入文件两种内容形式
下面简要介绍配置项数据的 2 种引入方式。
添加配置数据
手动添加配置数据。变量名为文件名,变量值为文件内容。
配置项挂载到应用中的服务里后,在服务对应的容器中会根据配置项的内容在挂载目录下创建文件,每条配置数据(属性名-属性值)为一个文件,其中属性名即文件的名称,属性值为文件的内容。例如某条数据的属性名为 “key”,属性值为 “value”,挂载到 /test 目录下。如果挂载成功后,在 /test 目录下就存在一个名为 “key” 的文件,其内容为 “value”。
引入文件
云端下发文件的下载地址。边缘节点在拿到文件下载地址后,去指定地址进行下载,即可引入文件。文件引入有两种方式:
1. http文件直接下载
填写文件在云端的下载地址,边缘节点可直接从地址下载。
2. 从对象存储引入文件
若文件没有对外暴露的下载地址,可将文件上传至对象存储服务中,作为对象引入边缘节点。
BIE支持的对象存储类型有 "百度云对象存储服务(BOS)" 或者符合 AWSS3 接口的对象存储,例如 Minio,Ceph。在界面上统一为“BOS”选项。 文件一旦上传,即形成通用的对象object,文件自身格式不再重要。
上传多个文件时,可将文件打包成zip包。用户可在云端配置时,选择是否在边缘侧解压zip包。如果选择了 "解压",该压缩包下发端侧时会进行解压操作。用户需要自行保证解压后的文件与其他配置项数据的冲突问题。
为了保证文件下载的完整性,可选择开启md5校验功能。需要在云端输入文件的md5值。节点下载文件后,会计算本地文件的md5值并和云端的值进行比对。如果比对结果一致,则文件下载完整。如果不一致,云端会显示下载失败,需要重新下载。
对于使用当前百度云账号 BOS 服务的用户,可以事先将需要引入的压缩包上传至 BOS。然后选择对象存储类型为 "BOS",账户为“当前账户”。选择bucket 名称、文件名称,是否校验和是否解压。
对于使用其他账号的BOS服务和外部的对象存储,账户类型需要选择“其他账号“。用户需要填写 endpoint、bucket名称、文件名称、是否解压等选项。
注:目前公有云仅支持读取华南-广州地区的bucket。BIE和BOS的地区需要保持一致。
查找配置项
选择左侧导航栏 "配置管理 > 配置项 > 搜索栏"。
删除配置项
选择左侧导航栏"配置管理 > 配置项 > 删除";