You need to enable JavaScript to run this app.
导航

通过控制台创建 CLB Ingress

最近更新时间2023.12.20 19:15:12

首次发布时间2023.03.08 11:40:42

CLB Ingress 采用自研 Ingress Controller 结合负载均衡的方式,提供更强大的 Ingress 流量管理。本文主要描述通过控制台配置 CLB Ingress 的方法。

使用限制

  • 请勿擅自在服务端更改通过创建 CLB Ingress 维护的 CLB 实例,或者其监听器、后端服务器组和转发规则,否则将造成 CLB 服务异常,须自行承担责任。
  • 请勿修改监听器和后端服务器组的名称中带有k8s_前缀的内容。
  • 若直接在服务端修改 CLB Ingress 指定或维护的资源配置,可能存在配置被覆盖的风险。
  • 使用负载均衡(Cloud Load Balancer,CLB)产品,会产生云基础资源使用费用。详细信息,请参见 负载均衡产品计费

操作步骤

  1. 登录 容器服务控制台
  2. 单击左侧导航栏中的 集群
  3. 在集群列表页面,单击需要配置路由规则的目标集群。
  4. 在集群管理页面的左侧导航栏中,选择 服务与路由 > 路由规则,单击 创建路由规则 ,创建路由规则。
    • 基本配置
      参数说明
      名称根据系统提示,配置路由规则的名称。在同一个命名空间下,名称必须唯一。
      命名空间选择路由规则所属的命名空间。建议选择您自定义的命名空间,或系统默认创建的 default 命名空间。命名空间相关介绍,请参见 命名空间概述
      注解单击 添加注解,为路由规则添加注解并配置键值对。也可通过配置路由规则 YAML 文件中特定的注解内容,以实现更加丰富的七层负载均衡能力和更加多样的服务路由规则。详细说明,请参见 通过 Annotation 配置七层负载均衡
    • Ingress 配置
      参数说明
      ingress 类型Ingress Controller 的实现方式,根据负载均衡器种类的不同,容器服务提供三种 ingress 类型。本例中选择 负载均衡 CLB
    • 负载均衡器配置
      参数说明

      直通 Pod 模式

      仅 VPC-CNI 容器网络模型集群中显示该参数。默认开启,开启后不再通过 NodePort 转发,直接关联 Pod 作为负载均衡器的后端,同时支持健康检查。

      注意

      CLB 负载均衡器允许的后端服务器数有限,需自行规划和保证。详细限制,请参见 CLB 约束限制

      负载均衡器

      按需选择已有或自动创建一个负载均衡器。支持 公网访问私网访问 两种访问模式。

      • 使用已有:仅支持已有的且未被容器服务使用的 按量计费包年包月 类型 CLB 实例。使用已有 CLB 实例时不覆盖该实例已有的监听器规则。

        非特殊情况建议选择全新创建的 CLB 实例。

      • 自动创建:自动创建新的 CLB 实例。您需要配置以下参数,详细参数说明,请参见 创建负载均衡实例

        注意

        • 请勿将该自动创建的 CLB 实例使用到其他 Ingress 或者 Service 资源中,避免资源残留。
        • 通过容器服务创建的 CLB,支持多可用区能力。若当前地域的负载均衡器支持跨可用区容灾,将默认创建主备可用区负载均衡器实例,当主可用区故障时,访问流量切换至备可用区,从而保障业务正常运行。
        • 名称:根据系统提示的命名规则,自定义负载均衡器的名称。
        • 子网:为负载均衡器实例提供私网部署环境,分配私网 IP 地址。

          负载均衡器实例创建成功后,不支持修改私网 IP 地址。

        • 线路类型:提供公网服务的线路类型,不同类型的线路在性能和计费标准上存在差异。支持 BGP(多线)融合 BGP中国移动中国电信中国联通

          注意

          除 BGP(多线) 外,其他线路类型均为 EIP 产品的邀测功能,如需使用,请 提交工单 或联系客户经理申请。

        • 计费方式:负载均衡器的计费方式,当前支持如下两种:
          • 按量计费-按带宽上限:指定带宽上限后,将按照使用时长计费,与实际流量无关。
          • 按量计费-按实际流量:指定带宽上限后,将按照实际使用的出公网流量计费,与使用时长无关。

          私网访问 无需配置该参数。

        • 带宽上限:公网 IP 的带宽上限,单位为 Mbps。实例创建后,您可以随时按需调整公网带宽上限。

          私网访问 无需配置该参数。

        • IP 版本:IP 地址版本类型。当前仅支持 IPv4
        • 实例规格:CLB 实例的规格。您可以根据不同的业务场景对性能的要求,选择适合的规格。规格说明,请参见 产品类型与规格

      监听器

      监听器负责监听负载均衡器上的请求,并分发流量。您需要配置监听器的调度算法和健康检查:

      • 调度算法:指定监听器转发请求时需要遵循的规则。
        • 加权轮询(WRR):基于权重值进行流量的分发,权重值越高的后端服务器,被轮询到的次数(概率)越高。
        • 加权最小连接数(WLC):优先将流量分发给当前连接数与权重比值最小的后端。
        • 源地址哈希(SH):基于源 IP 地址的一致性哈希,相同源地址的请求会调度到相同的后端服务器。
      • 健康检查:按需选择是否启用健康检查。若启用健康检查,需要配置以下参数:

        说明

        CLB Ingress 类型路由规则的健康检查路径仅支持/,且不可配置。

        • 健康检查方法:对监听器进行健康检查的请求方法,支持 GETHEAD。默认采用 GET 方法。
          • 使用 HEAD 方法,服务器仅返回 HEAD 头部信息,可以降低后端开销,但要求服务器支持 HEAD 方法。
          • 使用 GET 方法,要求服务器支持 GET 方法。
        • 正常状态码:如收到此处选中类型的响应码,则判定该服务器为正常状态。默认选中 2xx3xx
        • 响应超时:等待健康检查响应的时间。如果后端服务器在指定的时间内没有正确响应,则判定为健康检查异常。
        • 检测间隔:执行健康检查的时间间隔。默认间隔为 2 秒,表示每 2 秒对后端服务器进行一次健康检查。

          注意

          检测间隔时间需大于响应超时时间。

        • 健康阈值:判断后端服务器正常的健康检查次数。默认为 3 次,表示连续执行 3 次健康检查,结果均为“正常”的后端服务器则判定为健康检查正常。
        • 不健康阈值:判断后端服务器异常的健康检查次数。默认为 3 次,表示连续执行 3 次健康检查,结果均为“异常”的后端服务器则判定为健康检查异常。
    • 监听配置
      alt
      参数说明

      协议

      监听器的协议。容器服务支持 HTTPHTTPS 两种对外协议。
      创建完成路由规则时,CLB 实例根据您的监听配置,自动创建监听器,名称默认为k8s_ <CLB Ingress 所在命名空间>_<CLB Ingress 路由规则名称>_<端口号>,例如k8s_ default_demo-ingress_80

      端口

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

      • 协议HTTP 时:默认端口为 80
      • 协议HTTPS 时:默认端口为 443
      证书监听器的对外 协议 选择 HTTPS 后,需要绑定服务器证书,以支持数据传输加密认证。您需要通过创建密钥,绑定服务器证书:

      单击 创建密钥,根据如下说明配置密钥参数,然后单击 确定

      • 名称:根据系统提示的命名规则,设置密钥名称。同一个命名空间下名称须唯一。
      • 命名空间:选择与本路由规则相同的命名空间。
      • 服务器证书:选择 CLB 实例的服务器证书。若无可用证书,请参见 CLB 创建证书文档 创建。
      • 标签:密钥标签,可定义密钥的不同属性,方便批量筛选等需求。

      默认全部域名使用同一个密钥,CLB Ingress 不支持指定域名。

    • 转发配置
      参数说明

      转发规则

      请求的访问地址与转发规则匹配时,该请求会被转发到对应的 服务(Service)处理。单击 添加转发策略,可添加多条转发策略。

      • 域名:请求的域名与此处设置的域名匹配时,请求会被转发到指定的服务。

        注意

        不支持以*结尾的域名。

      • 路径:请求的路径与此处设置的路径匹配时,请求会被转发到指定的服务。
      • 路径匹配规则:负载均衡 CLB Ingress 类型的路由规则,当前仅支持 前缀匹配
        前缀匹配:表示只要符合此前缀的路径均可访问。例如映射 URL 为/foo,则/foo/v1/foo/v2都可以访问后端服务。
      • 服务:请求被转发到的目标服务和端口。若无可用服务,请参考 服务 创建服务。

        注意

        • 当集群的容器网络模型为 Flannel 时,仅支持关联和选择 NodePort、LoadBalancer(非直通 Pod)类型的服务。
        • 当集群的容器网络模型为 VPC-CNI 时:
          • 若 Ingress 开启了 直通 Pod 模式,则支持关联和选择 NodePort、LoadBalancer(直通或非直通 Pod)、ClusterIP 类型的服务。
          • 若 Ingress 未开启 直通 Pod 模式,则仅支持关联和选择 NodePort、LoadBalancer(直通或非直通 Pod)类型的服务。