CLB Ingress 支持通过注解(Annotation)实现更加丰富的 CLB 能力配置。本文主要介绍使用 Annotation 配置 CLB Ingress 的主要场景和配置方法。
注意
说明
监听器支持在对接已有 CLB 实例时配置,也支持在创建新的 CLB 实例时配置。本例以对接已有 CLB 实例为例。
CLB Ingress 支持通过 Annotation 配置监听器。示例和注解说明如下:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: ingress.vke.volcengine.com/loadbalancer-id: "clb-rrxpqzg37eo0v0x58******" # 指定使用的负载均衡 ID ingress.vke.volcengine.com/loadbalancer-scheduler: "wrr" # 配置监听器调度算法。取值:wrr(加权轮询)、wlc(加权最小连接数)、sh(源地址哈希) ingress.vke.volcengine.com/loadbalancer-protocol: "http" # 配置监听器协议。取值:http 、https ingress.vke.volcengine.com/loadbalancer-port: "80" # 配置监听器的监听端口,取值范围为 1-65535。http 协议默认监听 80 端口,https 协议默认监听 443 端口 name: clb-ingress # 自定义路由规则名称 namespace: default # 指定命名空间 spec: ingressClassName: clb rules: - host: example.com # 需要对外提供访问的域名 http: paths: - backend: service: name: service-demo-a # 需要对接的服务名称 port: number: 80 # 需要对接服务的端口号 path: /foo # 请求匹配的路径 pathType: Prefix # 路径类型:Exact(精确匹配)/Prefix(前缀匹配) - backend: service: name: service-demo # 需要对接的服务名称 port: number: 80 # 需要对接服务的端口号 path: /bar # 需要设定的访问路径信息 pathType: Prefix # 路径类型:Exact(精确匹配)/Prefix(前缀匹配)
Annotation 说明如下表所示。
Key | 类型 | 是否必须 | 描述 | 默认值 |
---|---|---|---|---|
ingress.vke.volcengine.com/loadbalancer-scheduler | String | 否 | 负载均衡器使用的调度算法。取值:
| wrr |
ingress.vke.volcengine.com/loadbalancer-protocol | String | 否 | 负载均衡实例的监听协议。取值:
| http |
ingress.vke.volcengine.com/loadbalancer-port | Integer | 否 | 负载均衡器对外的监听端口,注册到负载均衡服务地址上的端口。取值范围为 1~65535。 |
|
说明
CLB Ingress 支持通过 Annotation 配置直通 Pod 模式。示例和注解说明如下:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: ingress.vke.volcengine.com/loadbalancer-id: "clb-rrxpqzg37eo0v0x58******" ingress.vke.volcengine.com/loadbalancer-pass-through: "true" # 开启 Pod 直通模式 name: clb-ingress # 路由规则的名称 namespace: default # 路由规则所在的命名空间 spec: ingressClassName: clb rules: - host: example.com # 需要对外提供访问的域名 http: paths: - backend: service: name: service-demo # 需要对接的服务名称 port: number: 80 # 需要对接服务的端口号 path: / # 请求匹配的路径 pathType: Prefix # 路径类型:Exact(精确匹配)/Prefix(前缀匹配)
Annotation 说明如下表所示。
Key | 类型 | 是否必须 | 描述 | 默认值 |
---|---|---|---|---|
ingress.vke.volcengine.com/loadbalancer-pass-through | String | 是 | 是否启用负载均衡器直通 Pod 模式。取值:
| true |
说明
健康检查功能支持在对接已有 CLB 实例时使用,也支持在创建新的 CLB 实例时使用。本例以对接已有 CLB 实例为例。
CLB Ingress 支持通过 Annotation 配置健康检查。示例和注解说明如下:
apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: ingress.vke.volcengine.com/loadbalancer-id: "clb-rrxpqzg37eo0v0x58******" # 指定使用的负载均衡 ID ingress.vke.volcengine.com/loadbalancer-healthcheck-enabled: "true" # 配置是否开启健康检查。取值:true、false,本场景取值:true ingress.vke.volcengine.com/loadbalancer-healthcheck-path: "/" # 指定健康检查路径。默认为 / ingress.vke.volcengine.com/loadbalancer-healthcheck-method: "GET" # 选择健康检查的方法,取值为 GET 或 HEAD ingress.vke.volcengine.com/loadbalancer-healthcheck-httpcode: "http_2xx,http_3xx" # 设置健康检查的状态码,取值:http_2xx(默认)、http_3xx(默认)、http_4xx和http_5xx ingress.vke.volcengine.com/loadbalancer-healthcheck-timeout: "2" # 等待健康检查响应的时间,取值范围为 1~60 秒 ingress.vke.volcengine.com/loadbalancer-healthcheck-interval: "2" # 设置健康检查的时间间隔,取值范围:1~300 秒 ingress.vke.volcengine.com/loadbalancer-healthy-threshold: "3" # 判断后端服务器正常的健康检查次数,取值范围为 2~10 ingress.vke.volcengine.com/loadbalancer-unhealthy-threshold: "3" # 判断后端服务器异常的健康检查次数,取值范围为 2~10 name: clb-ingress # 路由规则的名称 namespace: default # 路由规则所在的命名空间 spec: ingressClassName: clb rules: - host: example.com #对外提供访问的域名 http: paths: - backend: service: name: service-demo # 对接的服务名称 port: number: 80 # 对接服务的端口号 path: / pathType: Prefix # 路径类型:Exact(精确匹配)/Prefix(前缀匹配)
Annotation 说明如下表所示。
Key | 类型 | 是否必须 | 描述 | 默认值 |
---|---|---|---|---|
ingress.vke.volcengine.com/loadbalancer-healthcheck-enabled | String | 是 | 表示是否启用健康检查。取值:
| true |
ingress.vke.volcengine.com/loadbalancer-healthcheck-path | String | 否 | 表示健康检查路径。 | / |
ingress.vke.volcengine.com/loadbalancer-healthcheck-method | String | 否 | 配置健康检查的方法。取值:GET、HEAD。 | GET |
ingress.vke.volcengine.com/loadbalancer-healthcheck-httpcode | String | 否 | 设置健康检查的状态码。取值:http_2xx、http_3xx、http_4xx 和 http_5xx | http_2xx,http_3xx |
ingress.vke.volcengine.com/loadbalancer-healthcheck-timeout | String | 否 | 指定等待健康检查响应的超时时间。
| 2 |
ingress.vke.volcengine.com/loadbalancer-healthcheck-interval | String | 否 | 指定执行健康检查的时间间隔。
| 2 |
ingress.vke.volcengine.com/loadbalancer-healthy-threshold | String | 否 | 健康检查连续成功多少次后,将后端服务器的健康检查状态由 Fail 判定为 Success。
| 3 |
ingress.vke.volcengine.com/loadbalancer-unhealthy-threshold | String | 否 | 健康检查连续失败多少次后,将后端服务器的健康检查状态由 Success 判定为 Fail。
| 3 |