配置bci-profile
更新时间:2026-03-23
概述
本文档介绍 BCI 的 bci-profile 功能,以及查看和修改该配置的方法。为了支持 CCE Virtual Kubelet 组件(VK)动态热更新配置,BCI 支持 bci-profile 功能。
- 更新配置时无需重启
VK。 - 对于新创建的
BCI Pod,更新后的配置可即时生效;对于存量BCI Pod,需要在滚动发布后才能生效更新后的配置。
注意事项
使用该功能时,请确保集群中的 VK(cce-virtual-kubelet 组件)版本 >= 1.0.1。关于如何升级组件,请参见 CCE Virtual Kubelet组件 说明文档。
配置说明
创建 Pod 时,系统会读取 kube-system 命名空间下的 bci-profile 配置文件(名为 bci-profile 的 ConfigMap),并按其 data.config 配置来创建 Pod。
您可以通过以下命令查看 bci-profile 的 YAML:
Bash
1kubectl get cm -n kube-system bci-profile -o yaml
bci-profile 的 YAML 模板如下:
YAML
1apiVersion: v1
2kind: ConfigMap
3metadata:
4 name: bci-profile
5 namespace: kube-system
6data:
7 config: |
8 {
9 "region": "<region-id>",
10 "clusterID": "<cluster-id>",
11 "subnets": [
12 {
13 "subnetID": "<subnet-id-1>",
14 "logicalZone": "<logical-zone-1>"
15 },
16 {
17 "subnetID": "<subnet-id-2>",
18 "logicalZone": "<logical-zone-2>"
19 }
20 ],
21 "securityGroupID": "<security-group-id>",
22 "enableReserveFailedPod": true,
23 "dnsConfig": {
24 "nameservers": [
25 "<nameserver-ip-1>",
26 "<nameserver-ip-2>"
27 ],
28 "searches": [
29 "<search-domain-1>",
30 "<search-domain-2>"
31 ],
32 "options": [
33 {
34 "name": "ndots",
35 "value": "<ndots-value>"
36 },
37 {
38 "name": "attempts",
39 "value": "<attempts-value>"
40 },
41 {
42 "name": "timeout",
43 "value": "<timeout-value>"
44 }
45 ]
46 }
47 }
修改bci-profile
方式一:通过 kubectl edit 命令
导航路径:目标 CCE 集群->kube-system->bci-profile
注意: 通过
kubectl修改前,请确保当前上下文已连接到目标集群,并具备kube-system命名空间下bci-profileConfigMap的读取与修改权限。
- 执行以下命令编辑
bci-profile。
Bash
1kubectl edit configmap bci-profile -n kube-system
- 修改
data.config中的 JSON 内容并保存。 - 确保配置内容满足 JSON 语法。
方式二:通过容器服务管理控制台
导航路径:产品服务->容器服务 CCE->集群列表->目标集群->配置管理->配置项
- 登录容器服务管理控制台,并进入目标集群详情页。
- 选择 【配置管理】 -> 【配置项】。
- 将命名空间切换为
kube-system。 - 找到
bci-profile,点击 【YAML 编辑】。 - 修改
data.config中的 JSON 内容并保存。
更新配置项
data.config 字段包含的子网、安全组等固定配置项,以 JSON 方式存储。您可以根据需要进行更新,更新后的配置可以即时生效,无需重启 VK。如下配置均为集群级别的配置项,即在创建 BCI Pod 时,如果没有额外配置,会采用 bci-profile 中的配置。
| 参数 | 必填 | 说明 |
|---|---|---|
subnets |
否 | BCI Pod 运行的默认子网列表,需同时配置子网 ID 和逻辑可用区;默认为 VK 组件安装时使用的子网参数。 |
securityGroupID |
否 | BCI Pod 所属安全组,默认为 VK 组件安装时使用的安全组参数。 |
enableReserveFailedPod |
否 | 是否自动保留失败的 BCI Pod,默认为 false。 |
dnsConfig |
否 | BCI Pod 的自定义 DNS 配置,默认为 null。 |
子网配置示例:
JSON
1"subnets": [
2 {
3 "subnetID": "<subnet-id-1>"
4 ,"logicalZone": "<logical-zone-1>"
5 },
6 {
7 "subnetID": "<subnet-id-2>",
8 "logicalZone": "<logical-zone-2>"
9 }
10],
dnsConfig 配置示例:
JSON
1"dnsConfig": {
2 "nameservers": [
3 "<nameserver-ip-1>",
4 "<nameserver-ip-2>"
5 ],
6 "searches": [
7 "<search-domain-1>",
8 "<search-domain-2>",
9 "<search-domain-3>"
10 ],
11 "options": [
12 {
13 "name": "ndots",
14 "value": "<ndots-value>"
15 },
16 {
17 "name": "attempts",
18 "value": "<attempts-value>"
19 },
20 {
21 "name": "timeout",
22 "value": "<timeout-value>"
23 }
24 ]
25}
26```rs": [
27 "169.254.20.10",
28 "172.21.0.10"
29 ],
30 "searches": [
31 "default.svc.cluster.local",
32 "svc.cluster.local",
33 "cluster.local"
34 ],
35 "options": [
36 {
37 "name": "ndots",
38 "value": "3"
39 },
40 {
41 "name": "attempts",
42 "value": "2"
43 },
44 {
45 "name": "timeout",
46 "value": "1"
47 }
48 ]
49 }
评价此篇文章
