You need to enable JavaScript to run this app.
容器服务

容器服务

复制全文
CLB Ingress
使用 Annotation 配置 CLB Ingress
复制全文
使用 Annotation 配置 CLB Ingress

CLB Ingress 支持通过注解(Annotation)实现更加丰富的 CLB 能力配置。本文主要介绍使用 Annotation 配置 CLB Ingress 的主要场景和配置方法。

注意

  • 配置 CLB Ingress 前,请务必仔细阅读 CLB Ingress 使用注意事项
  • ALB Ingress 提供更加丰富的功能和可靠性,为保障您业务的安全和稳定,建议在集群中优先选择 ALB Ingress 实现业务发布。详情请参见 ALB 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:权重值越高的后端服务器,被轮询到的次数(概率)越高。
  • wlc:将请求分发给 当前连接/权重 比值最小的后端服务器。
  • sh:基于源IP地址的一致性哈希,相同的源地址会调度到相同的后端服务器。

wrr

ingress.vke.volcengine.com/loadbalancer-protocol

String

负载均衡实例的监听协议。取值:

  • http:负载均衡实例的监听协议为 HTTP 协议。
  • https:负载均衡实例的监听协议为 HTTPS 协议。

http

ingress.vke.volcengine.com/loadbalancer-port

Integer

负载均衡器对外的监听端口,注册到负载均衡服务地址上的端口。取值范围为 1~65535。

  • https 协议:443
  • http 协议:80

配置直通 Pod 模式

说明

  • 直通 Pod 模式仅在 VPC-CNI 容器网络模式的集群下生效。
  • 直通 Pod 模式支持在对接已有 CLB 实例时使用,也支持在创建新的 CLB 实例时使用。本例以对接已有 CLB 实例为例。

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:启用负载均衡器直通 Pod 模式。
  • false:禁用负载均衡器直通 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:启用健康检查。
  • false:禁用健康检查。

true

ingress.vke.volcengine.com/loadbalancer-healthcheck-pathString表示健康检查路径。/
ingress.vke.volcengine.com/loadbalancer-healthcheck-methodString配置健康检查的方法。取值:GET、HEADGET
ingress.vke.volcengine.com/loadbalancer-healthcheck-httpcodeString设置健康检查的状态码。取值:http_2xxhttp_3xxhttp_4xxhttp_5xxhttp_2xx,http_3xx

ingress.vke.volcengine.com/loadbalancer-healthcheck-timeout

String

指定等待健康检查响应的超时时间。

  • 取值:1~60
  • 单位:秒

2

ingress.vke.volcengine.com/loadbalancer-healthcheck-interval

String

指定执行健康检查的时间间隔。

  • 取值:1~300
  • 单位:秒

2

ingress.vke.volcengine.com/loadbalancer-healthy-threshold

String

健康检查连续成功多少次后,将后端服务器的健康检查状态由 Fail 判定为 Success。

  • 取值:2~10
  • 单位:次

3

ingress.vke.volcengine.com/loadbalancer-unhealthy-threshold

String

健康检查连续失败多少次后,将后端服务器的健康检查状态由 Success 判定为 Fail。

  • 取值:2~10
  • 单位:次

3

最近更新时间:2025.03.10 18:01:29
这个页面对您有帮助吗?
有用
有用
无用
无用