云容器引擎 CCE-固定Pod EIP:通过kubectl命令行设置

时间:2023-11-01 16:25:54

通过kubectl命令行设置

您可以通过对StatefulSet添加annotations来设置是否开启Pod固定EIP功能,同时需要开启随Pod创建EIP功能,如下所示。

apiVersion: apps/v1kind: StatefulSetmetadata:  name: nginxspec:  serviceName: nginx  replicas: 3  selector:    matchLabels:      app: nginx  template:    metadata:      labels:        app: nginx      annotations:        pod.alpha.kubernetes.io/initialized: 'true'        yangtse.io/static-eip: 'true'        yangtse.io/static-eip-expire-no-cascading: 'false'        yangtse.io/static-eip-expire-duration: 5m        yangtse.io/pod-with-eip: 'true'        yangtse.io/eip-bandwidth-size: '5'        yangtse.io/eip-network-type: 5_bgp        yangtse.io/eip-charge-mode: bandwidth        yangtse.io/eip-ip-version: '4'    spec:      containers:        - name: container-0          image: nginx:alpine          resources:            limits:              cpu: 100m              memory: 200Mi            requests:              cpu: 100m              memory: 200Mi      imagePullSecrets:        - name: default-secret
表1 Pod固定EIP的annotation配置

annotation

默认值

参数说明

取值范围

yangtse.io/static-eip

false

是否开启Pod固定EIP,只有StatefulSet类型的Pod或无ownerReferences的Pod支持,默认不开启。

"false"或"true"

yangtse.io/static-eip-expire-duration

5m

删除固定EIP的Pod后,对应的固定EIP过期回收的时间间隔。

支持时间格式为Go time type,例如1h30m、5m。关于Go time type,请参见Go time type

yangtse.io/static-eip-expire-no-cascading

false

是否关闭StatefulSet工作负载的级联回收。

默认为false,表示StatefulSet删除后,会级联删除对应的固定EIP。如果您需要在删除StatefulSet对象后,在EIP过期回收时间内保留对应的固定EIP,用于下一次重建同名的StatefulSet再次使用对应的固定EIP,请将该参数设为true。

"false"或"true"

表2 EIP跟随Pod创建的annotation配置

annotation

默认值

参数说明

取值范围

yangtse.io/pod-with-eip

false

是否需要跟随Pod创建EIP并绑定到该Pod。

"false"或"true"

yangtse.io/eip-bandwidth-size

5

带宽大小,单位为Mbit/s。

默认1Mbit/s~2000Mbit/s

具体范围以各区域配置为准,详情请参见弹性公网IP控制台。

yangtse.io/eip-network-type

5_bgp

公网IP类型。

  • 5_bgp
  • 5_union
  • 5_sbgp

    具体类型以各区域配置为准,详情请参见弹性公网IP控制台。

yangtse.io/eip-charge-mode

bandwidth

按流量计费或按带宽计费。

默认取值为traffic,表示按流量计费。

  • bandwidth:按带宽计费
  • traffic:按流量计费

yangtse.io/eip-ip-version

4

公网EIP的版本,例如IPv4,IPv6。

默认取值为4,即表示IPv4。

  • 4
  • 6

yangtse.io/eip-bandwidth-id

已有的带宽ID,填写该值时会忽略其他自动创建EIP相关的annotation。

-

yangtse.io/eip-bandwidth-name

Pod名称

带宽名称。

  • 1-64个字符,支持数字、字母、中文、_(下划线)、-(中划线)、.(点)
  • 最小长度:1
  • 最大长度:64
support.huaweicloud.com/usermanual-cce/cce_10_0651.html