跳到主要内容

Ingress Annotation 说明

您可以通过以下 Annotation 注解配置 Ingress,以实现更丰富的负载均衡的能力。

注解使用方式

apiVersion:
kind: Ingress
metadata:
annotations:
kubernetes.io/ingress.class: "qcloud"
name: test
........

Annotation 集合

kubernetes.io/ingress.class

说明:
配置 Ingress 类型。当前组件管理未配置该注解,或注解内容为 qcloud 的 Ingress 资源。

使用示例:

kubernetes.io/ingress.class: "qcloud"

kubernetes.io/ingress.qcloud-loadbalance-id

说明:
只读注解,组件提供当前 Ingress 引用的负载均衡 LoadBalanceId。

使用示例:

kubernetes.io/ingress.qcloud-loadbalance-id: "lb-3imskkfe"

ingress.cloud.sunhongs.com/loadbalance-nat-ipv6

说明:
只读注解,当用户配置或申请的为 NAT IPv6负载均衡时,提供 IPv6地址。

ingress.cloud.sunhongs.com/loadbalance-ipv6

说明:
只读注解,当用户配置或申请的为 FullStack IPv6负载均衡时,提供 IPv6地址。

kubernetes.io/ingress.internetChargeType

说明:
负载均衡的付费类型,当前仅在创建时支持配置,创建后不支持修改付费类型,创建后修改本注解无效。
指定创建负载均衡时,负载均衡的付费类型。请配合 kubernetes.io/ingress.internetMaxBandwidthOut 注解一起使用。

可选值:

  • TRAFFIC_POSTPAID_BY_HOUR 按流量按小时后计费。
  • BANDWIDTH_POSTPAID_BY_HOUR 按带宽按小时后计费。

使用示例:

kubernetes.io/ingress.internetChargeType: "TRAFFIC_POSTPAID_BY_HOUR"

kubernetes.io/ingress.internetMaxBandwidthOut

说明:
CLB 带宽设置,当前仅在创建时支持配置,创建后不支持修改带宽,创建后修改本注解无效。
指定创建负载均衡时,负载均衡的最大出带宽,仅对公网属性的 LB 生效。需配合 kubernetes.io/ingress.internetChargeType 注解一起使用。

可选值:
范围支持1到2048,单位 Mbps。

使用示例:

kubernetes.io/ingress.internetMaxBandwidthOut: "2048"

kubernetes.io/ingress.extensiveParameters

说明:
该 Annotation 使用的是 CLB 创建时的参数,当前仅在创建时支持配置,创建后不支持修改,创建后修改本注解无效。

使用示例:

  • 创建 NAT64 IPv6 实例:

    kubernetes.io/ingress.extensiveParameters: '{"AddressIPVersion":"IPV6"}'
  • 创建 IPv6 实例:(SubnetId 必填,而且需要分配IPv6网段。MixIpTarget 可以提供混绑后端IPv4的能力,当您的后端不是IPv6时请添加该配置)

    kubernetes.io/ingress.extensiveParameters: '{"AddressIPVersion":"IPv6FullChain","SubnetId": "subnet-fqduxxxx"}'
    kubernetes.io/ingress.extensiveParameters: '{"AddressIPVersion":"IPv6FullChain","SubnetId": "subnet-fqduxxxx","MixIpTarget":true}'
  • 购买电信负载均衡:

    kubernetes.io/ingress.extensiveParameters: '{"VipIsp":"CTCC"}'
  • 指定可用区创建:

    kubernetes.io/ingress.extensiveParameters: '{"ZoneId":"ap-guangzhou-1"}'
  • 创建时自定义 CLB 名字:

    kubernetes.io/ingress.extensiveParameters: '{"LoadBalancerName":"my_custom_lb_name"}'

kubernetes.io/ingress.subnetId

说明:
指定创建内网类型的负载均衡,并指定负载均衡所属子网。

使用示例:

kubernetes.io/ingress.subnetId: "subnet-3swgntkk"

kubernetes.io/ingress.existLbId

说明:
指定使用已有负载均衡作为接入层入口资源。

注意
使用已有负载均衡时,需要保证其不包含其他监听器。

使用示例:

kubernetes.io/ingress.existLbId: "lb-342wppll"