BCI Pod Annotation
更新时间:2024-09-25
在Kubernetes集群中创建BCI类型的Pod(即BCI实例)时,为充分使用BCI提供的功能,在不改变Kubernetes语义的前提下,您可以根据需求为Pod添加Annotation。
本文为您介绍创建BCI Pod时支持添加的Annotation。
BCI Pod支持的annotation
注意:
- annotation需要配置在Pod Spec中,而不是DeploymentSpec中。
- 配置网络、安全组和可用区相关annotation时,需要保证相互之间的一致性:如子网与安全组应该同属一个VPC,子网与可用区参数需匹配等。如未在Pod中单独配置,则默认使用虚拟节点本身的配置。
- 如通过annotation指定子网参数,则必须同时通过annotation指定可用区参数,可用区参数的值为子网所属可用区。
通过在Pod metadata中指定annotation,可以为对应Pod开启特定的特性,或者覆盖虚拟节点上的原有配置。
annotation | 含义 | 示例 |
---|---|---|
bci.virtual-kubelet.io/bci-logical-zone | BCI实例所在可用区 | "bci.virtual-kubelet.io/bci-logical-zone": "zoneB" |
bci.virtual-kubelet.io/bci-subnet-id | BCI实例所在子网短id | "bci.virtual-kubelet.io/bci-subnet-id": "sbn-wiheujsumeqc" |
bci.virtual-kubelet.io/bci-security-group-id | BCI实例使用的安全组id | "bci.virtual-kubelet.io/bci-security-group-id": "g-0c25zsii79hv" |
bci.virtual-kubelet.io/bci-create-eip | 自动为BCI实例创建并绑定EIP | "bci.virtual-kubelet.io/bci-create-eip": "true" |
bci.virtual-kubelet.io/bci-create-eip-bandwidth | 自动为BCI实例创建的EIP带宽,单位Mbps,默认100Mbps | "bci.virtual-kubelet.io/bci-create-eip-bandwidth": "100" |
bci.virtual-kubelet.io/bci-create-eip-route-type | 自动为BCI实例设置EIP的线路类型。不指定时,默认为标准BGP类型。 取值范围: BGP:标准型BGP BGP_S:增强型BGP ChinaMobile:中国移动 ChinaUnicom:中国联通 ChinaTelcom:中国电信 (如果选择移动、联通、电信线路,需要先申请单线EIP白名单。) |
"bci.virtual-kubelet.io/bci-create-eip-route-type": "BGP_S" |
bci.virtual-kubelet.io/bci-create-eip-paymethod | 计费方式: ByTraffic:流量 ByBandwidth:带宽 |
"bci.virtual-kubelet.io/bci-create-eip-paymethod": "ByBandwidth" |
bci.virtual-kubelet.io/kube-proxy-enabled | 为BCI实例注入kube-proxy sidecar,用于访问ClusterIP | "bci.virtual-kubelet.io/kube-proxy-enabled": "true" |
bci.virtual-kubelet.io/pod-delay-release-duration-minute | 设置延迟销毁时长,只针对job任务类型Pod(即restartPolicy为never)生效 | "bci.virtual-kubelet.io/pod-delay-release-duration-minute": '30' |
bci.virtual-kubelet.io/pod-delay-release-succeeded | 延迟销毁默认只对Failed状态的Pod生效,变更此字段可将延迟销毁也应用于 Succeeded状态的Pod | "bci.virtual-kubelet.io/pod-delay-release-succeeded": 'true' |
bci.virtual-kubelet.io/resource-tag | 绑定的标签(Tag)字符串,最多可以绑定10个标签。标签键和标签值之间用半角冒号隔开,多个标签之间用半角逗号隔开。 | bci.virtual-kubelet.io/resource-tag: "key1:value1,key2:value2" |
配置示例:
apiVersion: apps/v1
kind: Deployment
metadata:
name: nginx
labels:
app: nginx
spec:
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
annotations:
bci.virtual-kubelet.io/bci-create-eip: "true" # 自动为BCI Pod创建并绑定EIP
bci.virtual-kubelet.io/bci-create-eip-bandwidth: "150" # 自动创建的EIP带宽为150Mbps
bci.virtual-kubelet.io/bci-create-eip-route-type: "BGP_S" # 自动创建EIP的线路类型为增强型BGP
spec:
containers:
- name: nginx
image: nginx:1.7.9
ports:
- containerPort: 80