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

通过控制台创建负载均衡服务

最近更新时间2024.03.28 11:03:01

首次发布时间2022.03.04 23:10:38

容器服务支持创建负载均衡模式(LoadBalancer)的服务。本文为您介绍如何通过控制台创建负载均衡服务。

背景信息

负载均衡(LoadBalancer)用于将集群中的服务(Service)暴露到 VPC 内或公网。
alt

使用限制

  • 若需要将 LoadBalancer 类型 Service 修改为其他类型,建议通过 编辑 Yaml 方式进行操作,通过控制台更新配置会导致 CLB 资源残留。
  • 请勿擅自在服务端更改通过创建 LoadBalancer 类型 Service 维护的 CLB 实例,或其监听器和后端服务器组,否则将造成 CLB 服务异常,须自行承担责任。
  • 请勿修改监听器和后端服务器组的名称中带有k8s_前缀的内容。
  • 若直接在服务端修改 LoadBalancer 类型的 Service 指定或维护的资源配置,可能存在配置被覆盖的风险。
  • VPC-CNI 网络模型场景下,支持直通 Pod 模式,把 Pod 对应的辅助网卡 ENI 直接关联到 CLB 的后端。

    说明

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

前提条件

已创建无状态或有状态工作负载。详细操作,请参见 创建无状态负载创建有状态负载

操作步骤

  1. 登录 容器服务控制台
  2. 单击左侧导航栏中的 集群
  3. 在集群列表页面,单击需要配置的目标集群。
  4. 在集群管理页面的左侧导航栏中,选择 服务与路由 > 服务,单击 创建服务,配置服务。
    • 基本信息
      配置项说明
      名称根据系统提示,配置服务的名称。在同一个命名空间下,名称必须唯一。
      命名空间选择服务所属的命名空间。建议选择您自定义的命名空间,或系统默认创建的 default 命名空间。命名空间相关介绍,请参见 命名空间概述
      标签单击 添加标签 图标,配置服务的标签。标签能够为服务定义不同的属性,方便批量筛选等需求。
      注解单击 添加注解,为服务添加注解并配置键值对。也可通过配置路由规则 YAML 文件中特定的注解内容,以实现更加丰富的四层负载均衡能力。详细说明,请参见 使用 Annotation 配置负载均衡服务
    • 访问配置
      alt
      配置项说明
      访问类型配置服务的访问类型,本例中选择:负载均衡(LoadBalancer)

      通信协议

      邀测·申请试用】针对 IPv4/IPv6 双栈集群,提供按需配置服务通信协议能力,兼容 IPv6 地址访问服务的业务场景。包括以下选项:

      • IPv4:表示仅支持 IPv4 地址访问服务。
      • IPv4&IPv6:同时支持通过 IPv4 和 IPv6 访问服务,默认使用 IPv4。
      • IPv6&IPv4:同时支持通过 IPv6 和 IPv4 访问服务,默认使用 IPv6。

      说明

      IPv4/IPv6 双栈集群搭建方法参见 通过 VKE 搭建 IPv4/IPv6 双栈集群

      直通 Pod 模式仅 VPC-CNI 容器网络模型集群中显示该参数。默认开启,开启后直接关联 Pod ENI 作为负载均衡器的后端。但负载均衡器允许的后端服务器数有限,需自行规划和保证。详细限制,请参见 CLB 约束限制

      负载均衡器

      配置服务的负载均衡器,按需选择或自动创建一个负载均衡器。支持 公网访问私网访问 两种访问模式。

      说明

      若通信协议选择 IPv4&IPv6 或 IPv6&IPv4,将仅支持私网访问的负载均衡器,此时需要注意以下情况:

      • 如需提供公网 IPv4 访问能力,可在 Service 创建完成后前往 CLB 控制台绑定公网 IP。
      • 如需提供公网 IPv6 访问能力,可在 Service 创建完成后前往 CLB 控制台开通 IPv6 地址的公网带宽。
      • 使用已有:仅支持已有的且未被容器服务使用的 按量计费包年包月 类型 CLB 实例。使用已有 CLB 实例时不覆盖该实例已有的监听器规则。

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

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

        注意

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

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

        • 可用区:配置负载均衡器实例的主可用区和备可用区,实现高可用性部署。不配置该参数时,根据地域可用区部署情况按照如下逻辑处理:
          • 指定地域为单可用区部署时, 默认创建单可用区负载均衡实例。
          • 指定地域为多可用区部署时,默认根据指定地域支持的可用区随机分配备可用区。
        • 线路类型:提供公网服务的线路类型,不同类型的线路在性能和计费标准上存在差异,支持 BGP(多线)融合 BGP中国移动中国电信中国联通

          注意

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

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

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

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

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

        • 共享带宽包:默认不配置。您可根据实际需求,勾选 加入共享带宽包,并选择已经创建的共享带宽包。

          说明

          共享带宽包是一种支持复用和共享带宽的云资源。将单个地域内多个公网 IP 或 IPv6 公网带宽添加到一个共享带宽包实例中,共享一条带宽,可以帮助您降低公网带宽的使用成本。详情请参见 什么是共享带宽包

        • 实例规格:CLB 实例的规格。您可以根据不同的业务场景对性能的要求,选择适合的规格。规格说明,请参见 产品类型与规格

      监听器

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

      • 调度算法:指定监听器转发请求时需要遵循的规则。
        • 加权轮询(WRR):基于权重值进行流量的分发,权重值越高的后端服务器,被轮询到的次数(概率)越高。
        • 加权最小连接数(WLC):优先将流量分发给当前连接数与权重比值最小的后端。
        • 源地址哈希(SH):基于源 IP 地址的一致性哈希,相同源地址的请求会调度到相同的后端服务器。
      • 健康检查:按需选择是否启用健康检查。若启用健康检查,需要配置以下参数:
        • 响应超时:等待健康检查响应的时间。如果后端服务器在指定的时间内没有正确响应,则判定为健康检查异常。
        • 检测间隔:执行健康检查的时间间隔。默认间隔为 2 秒,表示每 2 秒对后端服务器进行一次健康检查。

          注意

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

        • 健康阈值:判断后端服务器正常的健康检查次数。默认为 3 次,表示连续执行 3 次健康检查,结果均为“正常”的后端服务器则判定为健康检查正常。
        • 不健康阈值:判断后端服务器异常的健康检查次数。默认为 3 次,表示连续执行 3 次健康检查,结果均为“异常”的后端服务器则判定为健康检查异常。
      端口映射配置服务端口与容器端口的映射关系:
      • 名称:配置端口映射的名称。
      • 服务端口:配置 Service 对外提供服务的端口,同一种协议的服务端口不允许重复。
      • 协议:在下拉菜单中选择协议,支持 TCP 协议和 UDP 协议。
      • 容器端口:配置容器的端口,该端口为工作负载对外提供服务的端口号或端口名称。例如:Nginx 开放的默认端口号为 80。

      标签选择器

      Service 通过标签选择器与后端容器组实例(Pod)绑定:

      • 添加标签:输入添加工作负载的标签,关联 Service 到指定工作负载。您可以在集群管理页面左侧导航栏单击 工作负载,找到目标工作负载,获取工作负载标签。
      • 关联工作负载:直接选择工作负载,关联到 Service。当前仅支持关联 无状态负载有状态负载

      注意

      LoadBlancer 类型 Service 关联弹性容器实例方式部署的工作负载时,仅支持使用 直通 Pod 模式,系统默认开启 直通 Pod 模式 开关,且不允许关闭。

      外部流量策略

      Service 转发外部流量的策略:

      • Cluster:流量可以均衡转发到工作负载对应的所有 Pod。
      • Local:流量只能转发到本节点的 Pod,可能存在流量不均衡转发问题,但可以保留客户端源 IP。

      会话保持

      默认不配置。您可根据实际需求,勾选 配置超时时间,启用会话保持功能,并配置会话保持的持续时间。启用后 Service 将来自同一个 IP 地址的访问请求转发到同一台后端服务器上。

      建议设置超时时间数值大于 120 秒。

      说明

      LoadBlancer 类型 Service 的会话保持,建议与 CLB 监听器的会话保持时间一致。两种会话保持相关说明,请参见 FAQ

  5. 单击 确定,完成配置。

结果验证

配置完成后,您可以在服务列表中查看已创建的负载均衡服务。其中,外部端点 即是与该服务对接的 CLB 公网 IP 地址。

alt

单击目标服务的 操作 栏,在弹出的下拉菜单中选择 编辑 Yaml,可以查看该负载均衡服务的配置,包括该服务使用的 CLB 实例 ID。您可以在 均衡负载 控制台中,使用 CLB 实例 ID 查找对应的 CLB 实例。