配置bci-profile
更新时间:2025-04-03
为了支持CCE Virtual Kubelet组件(VK)能动态热更新配置,BCI支持了bci-profile功能。
- 更新配置时无需重启VK。
- 对于新创建的BCI Pod,可以即时生效更新后的配置;对于存量BCI Pod,需要滚动发布后才能生效更新后的配置。
注意事项
使用该功能时,请确保集群中的VK(cce-virtual-kubelet组件)为最新版本。关于如何升级组件,请参见CCE Virtual Kubelet组件说明文档。
配置说明
创建Pod时,系统会读取kube-system命名空间下的bci-profile配置文件(名为bci-profile的ConfigMap),按其data配置来创建Pod。
您可以通过kubectl get cm -n kube-system bci-profile -o yaml命令查看bci-profile的YAML。
bci-profile的YAML模板如下:
Plain Text
1apiVersion: v1
2kind: ConfigMap
3metadata:
4 name: bci-profile
5 namespace: kube-system
6data:
7 config: |
8 {
9 "region": "gz",
10 "clusterID": "example-cluster-id",
11 "subnets": [
12 {
13 "subnetID": "subnet-12345",
14 "logicalZone": "zone-a"
15 },
16 {
17 "subnetID": "subnet-67890",
18 "logicalZone": "zone-b"
19 }
20 ],
21 "securityGroupID": "sg-abcdef",
22 "enableReserveFailedPod": true,
23 "dnsConfig": {
24 "nameservers": [
25 "169.254.20.10",
26 "172.21.0.10"
27 ],
28 "searches": [
29 "default.svc.cluster.local",
30 "svc.cluster.local",
31 "cluster.local"
32 ],
33 "options": [
34 {
35 "name": "ndots",
36 "value": "3"
37 },
38 {
39 "name": "attempts",
40 "value": "2"
41 },
42 {
43 "name": "timeout",
44 "value": "1"
45 }
46 ]
47 }
48 }
修改bci-profile
方式一: 通过kubectl edit命令
kubectl edit configmap bci-profile -n kube-system
注意配置内容需要满足json语法
方式二:通过容器服务管理控制台
- 登录容器服务管理控制台。
- 在集群页面,找到目标集群,单击集群名称。
- 在集群管理页的左侧导航栏,选择配置管理>配置项。
- 选择命名空间为kube-system。
- 找到bci-profile,单击YAML编辑。
更新配置项
data的config字段包含的子网、安全组等固定配置项,以json方式存储,您可以根据需要进行更新,更新后的配置可以即时生效(无需重启VK)。注意,如下配置为均为集群级别的配置项,即在创建BCI Pod时,如果没有额外配置,会采用bci-profile中的配置。 支持更新的配置项如下:
配置项 | 说明 |
subnets | BCI Pod运行的默认子网列表,需同时写出子网id和逻辑可用区;默认为VK组件安装时使用的子网参数 |
securityGroupID | BCI Pod所属安全组,默认为VK组件安装时参数,如 "securityGroupID": "sg-abcdef" |
enableReserveFailedPod | 是否自动保留失败的BCI Pod,默认为false |
dnsConfig | BCI Pod配置的自定义DNS 配置,默认为null |
子网示例:
Plain Text
1 "subnets": [
2 {
3 "subnetID": "subnet-12345",
4 "logicalZone": "zone-a"
5 },
6 {
7 "subnetID": "subnet-67890",
8 "logicalZone": "zone-b"
9 }
10 ],
dnsConfig配置示例:
Plain Text
1 "dnsConfig": {
2 "nameservers": [
3 "169.254.20.10",
4 "172.21.0.10"
5 ],
6 "searches": [
7 "default.svc.cluster.local",
8 "svc.cluster.local",
9 "cluster.local"
10 ],
11 "options": [
12 {
13 "name": "ndots",
14 "value": "3"
15 },
16 {
17 "name": "attempts",
18 "value": "2"
19 },
20 {
21 "name": "timeout",
22 "value": "1"
23 }
24 ]
25 }