BCI Pod Annotation
更新时间:2025-02-06
在Kubernetes集群中创建BCI类型的Pod(即BCI实例)时,为充分使用BCI提供的功能,在不改变Kubernetes语义的前提下,您可以根据需求为Pod添加Annotation。 本文为您介绍创建BCI Pod时支持添加的Annotation,以及BCI Pod调度完成后会追加的Annotation。
BCI Pod支持的Annotation
创建BCI Pod时,通过在Pod metadata中指定Annotation,可以为对应Pod开启特定的特性,或者覆盖虚拟节点上的原有配置,支持添加的Annotation如下:
注意:
- 列举的Annotation仅适用于创建到虚拟节点上的Pod,即BCI实例,调度到普通节点上的Pod不受这些Annotation影响。
- Annotation请添加在Pod的metadata下,例如:创建Deployment时,Annotation需添加在spec>template>metadata下。
- 仅支持在创建BCI Pod时添加BCI相关Annotation来生效BCI功能,更新BCI Pod时添加或者修改BCI相关Annotation均不会生效。
- 配置网络、安全组和可用区相关Annotation时,需要保证相互之间的一致性:
- 如子网与安全组应该同属一个VPC,子网与可用区参数需匹配等。
- 如未在Pod中单独配置,则默认使用虚拟节点本身的配置。
- 如通过Annotation指定子网参数,则必须同时通过Annotation指定可用区参数,可用区参数的值为子网所属可用区。
实例
功能及相关文档 | 参数 | 示例值 | 描述 |
---|---|---|---|
配置BCI Pod所属可用区 | bci.virtual-kubelet.io/bci-logical-zone | zoneF | BCI实例所在可用区 |
配置BCI Pod所属子网 | bci.virtual-kubelet.io/bci-subnet-id | sbn-xxx | BCI实例所属子网(子网短ID) |
多可用区创建实例 | bci.virtual-kubelet.io/bci-subnet-ids | sbn-xxx1,sbn-xxx2 | 支持指定多个可用区实现多可用区功能 |
自定义设置BCI Pod的hosts | bci.virtual-kubelet.io/pod-host-aliases | [{"ip":"10.10.xx.xx","hostnames":["example.com"]},{"ip":"10.10.yy.yy","hostnames":["foo.com","bar.com"]}] | 自定义设置BCI Pod的hosts(即/etc/hosts)。 |
为BCI Pod绑定自定义标签 | bci.virtual-kubelet.io/resource-tag | key1:value1,key2:value2 | 绑定的标签(Tag)字符串,标签键和标签值之间用半角冒号隔开,多个标签之间用半角逗号隔开。 |
为BCI Pod配置延迟销毁时长(Job类型Pod) | bci.virtual-kubelet.io/pod-delay-release-duration-minute | 10 | 设置延迟销毁时长,只针对job任务类型Pod(即restartPolicy为never)生效 |
为BCI Pod配置延时销毁时长(Succeeded状态的Pod) | bci.virtual-kubelet.io/pod-delay-release-succeeded | true | 延迟销毁默认只对Failed状态的Pod生效,变更此字段可将延迟销毁也应用于 Succeeded状态的Pod |
创建GPU类型实例 | bci.virtual-kubelet.io/bci-gpu-type | Nvidia A10 PCIE | 指定GPU卡型号 |
网络
功能及相关文档 | 参数 | 示例值 | 描述 |
---|---|---|---|
配置BCI Pod所属安全组 | bci.virtual-kubelet.io/bci-security-group-id | g-xxx | 指定实例的安全组ID |
配置BCI Pod是否自动创建EIP | bci.virtual-kubelet.io/bci-create-eip | true | 是否自动创建并绑定EIP |
配置BCI Pod EIP线路类型 | bci.virtual-kubelet.io/bci-create-eip-route-type | BGP | 设置EIP的线路类型。不指定时,默认为BGP类型。可选值: |
配置BCI Pod EIP带宽 | bci.virtual-kubelet.io/bci-create-eip-bandwidth | 10 | 设置EIP带宽。带宽能力和EIP线路类型相关。带宽区间: |
配置BCI Pod EIP计费方式 | bci.virtual-kubelet.io/bci-create-eip-paymethod | ByBandwidth | 设置EIP计费方式 |
为BCI Pod绑定已有的EIP | bci.virtual-kubelet.io/bci-eip-ip | 10.10.xx.xx | 绑定已有的EIP。且此EIP状态必须可用(Available)。限定条件:一个EIP只能成功绑定到一个BCI实例上,若使用deployment方式,副本数replicas需设置为1,否则可能导致创建失败。 |
配置BCI Pod访问集群内Service | bci.virtual-kubelet.io/kube-proxy-enabled | true | BCI实例访问K8S ClusterIP类型Service |
运维
功能及相关文档 | 参数 | 示例值 | 描述 |
---|---|---|---|
查看Core dump文件 | bci.virtual-kubelet.io/core-pattern | /tmp/cores | Core dump文件保存目录 |
BCI Pod追加的Annotation
BCI Pod调度完成后会追加的Annotation如下表所示。您可以通过kubectl describe命令进行查询。
参数 | 示例值 | 描述 |
---|---|---|
bci.virtual-kubelet.io/bci-subnet-id | sbn-xxx | BCI实例所属子网(短ID) |
bci.virtual-kubelet.io/order-id | xxx | BCI实例对应的订单ID |
bci.virtual-kubelet.io/pod-id | p-xxx | BCI实例短ID |
bci.virtual-kubelet.io/bci-bound-eip-bandwidth | 10 | 绑定的EIP实例带宽 |
bci.virtual-kubelet.io/bci-bound-eip-id | ip-xxx | 绑定的EIP实例ID(短ID) |
bci.virtual-kubelet.io/bci-bound-eip-ip | 10.10.xx.xx | 绑定的EIP实例IP地址 |
bci.virtual-kubelet.io/bci-bound-eip-paymethod | ByTraffic | 绑定的EIP实例计费方式 |
bci.virtual-kubelet.io/bci-bound-eip-route-type | BGP | 绑定的EIP实例线路类型 |