容器服务支持创建负载均衡模式(LoadBalancer)的服务。本文为您介绍如何通过控制台创建负载均衡服务。
使用限制
- 推荐在 VKE 控制台上直接配置 CLB 的参数,控制台上未包含的配置,支持通过 Annotation 修改。当修改 Annotation 时,建议通过 编辑 Yaml 方式进行操作。
- 仅在 VPC-CNI 网络模型场景下,支持直通 Pod 模式,把 Pod 对应的辅助网卡 ENI 直接关联到 CLB 的后端。
说明
直通 Pod 模式场景,CLB 允许的后端服务器数有限,需自行规划和保证。详细限制,请参见 CLB 约束限制。
前提条件
操作步骤
- 登录 容器服务控制台。
- 单击左侧导航栏中的 集群。
- 在集群列表页面,单击需要配置的目标集群。
- 在集群管理页面的左侧导航栏中,选择 服务与路由 > 服务,单击 创建服务,配置服务。
- 基本信息
配置项 | 说明 |
---|
名称 | 根据系统提示,配置服务的名称。在同一个命名空间下,名称必须唯一。 |
命名空间 | 选择服务所属的命名空间。建议选择您自定义的命名空间,或系统默认创建的 default 命名空间。命名空间相关介绍,请参见 命名空间概述。 |
标签 | 单击 添加标签 图标,配置服务的标签。标签能够为服务定义不同的属性,方便批量筛选等需求。 |
注解 | 单击 添加注解,为服务添加注解并配置键值对。也可通过配置路由规则 YAML 文件中特定的注解内容,以实现更加丰富的四层负载均衡能力。详细说明,请参见 使用 Annotation 配置负载均衡服务。 |
- 访问配置
配置项 | 说明 |
---|
访问类型 | 配置服务的访问类型,本例中选择:负载均衡(LoadBalancer)。 |
通信协议 | 【邀测·申请试用】针对 IPv4/IPv6 双栈集群,提供按需配置服务通信协议能力,兼容 IPv6 地址访问服务的业务场景。包括以下选项: - IPv4:表示仅支持 IPv4 地址访问服务。
- IPv4&IPv6:同时支持通过 IPv4 和 IPv6 访问服务,默认使用 IPv4。
- IPv6&IPv4:同时支持通过 IPv6 和 IPv4 访问服务,默认使用 IPv6。
|
直通 Pod 模式 | 仅 VPC-CNI 容器网络模型集群中显示该参数。默认开启,开启后直接关联 Pod ENI 作为负载均衡器的后端。但负载均衡器允许的后端服务器数有限,需自行规划和保证。详细限制,请参见 CLB 约束限制。 |
负载均衡器 | 配置服务的 CLB 实例,按需选择或自动创建一个 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,支持多可用区能力。若当前地域的 CLB 支持跨可用区容灾,将默认创建主备可用区 CLB 实例,当主可用区故障时,访问流量切换至备可用区,从而保障业务正常运行。
- 名称:根据系统提示的命名规则,自定义 CLB 实例的名称。
- 可用区:配置 CLB 实例的主可用区和备可用区,实现高可用性部署。不配置该参数时,根据地域可用区部署情况按照如下逻辑处理:
- 指定地域为单可用区部署时, 默认创建单可用区 CLB 实例。
- 指定地域为多可用区部署时,默认根据指定地域支持的可用区随机分配备可用区。
- 计费类型:CLB 实例的计费类型,支持 按量计费。
- 计费方式:CLB 实例的计费方式,支持 按规格计费。
- 实例规格:CLB 实例的规格。可以根据不同的业务场景对性能的要求,选择适合的规格。详情请参见 产品类型与规格。
说明 - 更新组件配置时,需要首先开启 更新实例 开关,才能更新 CLB 实例规格。
- 为避免实际业务流量受损,更新 CLB 实例规格前建议首先登录 CLB 控制台确认 CLB 实例当前配置的规格,与更新页面上已选择的实例规格对比,确认更新后的实例规格能够满足需求。
- 修改保护:是否开启 CLB 实例的修改保护功能。开启后,无法通过控制台和 API 修改 CLB 实例的配置。
- 子网:为 CLB 实例提供私网部署环境,分配私网 IP 地址。CLB 实例创建成功后,不支持修改私网 IP 地址。
- IP 版本:选择 CLB 实例的 IP 地址版本,当前仅支持 IPv4,不支持修改。
- 线路类型:提供公网 IP 的线路类型,不同类型的线路在性能和计费标准上存在差异,支持 BGP(多线)、融合 BGP、中国移动、中国电信 和 中国联通。
注意 除 BGP(多线) 外,其他线路类型均为 EIP 产品的邀测功能,如需使用,请 提交工单 或联系客户经理申请。 - 计费方式:公网 IP 的计费方式,支持的类型如下:
- 按量计费-按带宽上限:指定带宽上限后,将按照使用时长计费,与实际流量无关。
- 按量计费-按实际流量:指定带宽上限后,将按照实际使用的出公网流量计费,与使用时长无关。
- 带宽上限:公网 IP 的带宽上限,单位为 Mbps。实例创建后,您可以随时按需调整公网带宽上限。
- 共享带宽包:默认不配置。您可根据实际需求,勾选 加入共享带宽包,并选择已经创建的共享带宽包。
说明 共享带宽包是一种支持复用和共享带宽的云资源。将单个地域内多个公网 IP 或 IPv6 公网带宽添加到一个共享带宽包实例中,共享一条带宽,可以帮助您降低公网带宽的使用成本。详情请参见 什么是共享带宽包。
|
监听器 | 监听器负责监听负载均衡器上的请求,并分发流量。您需要配置监听器的调度算法和健康检查: - 调度算法:指定监听器转发请求时需要遵循的规则。
- 加权轮询(WRR):基于权重值进行流量的分发,权重值越高的后端服务器,被轮询到的次数(概率)越高。
- 加权最小连接数(WLC):优先将流量分发给当前连接数与权重比值最小的后端。
- 源地址哈希(SH):基于源 IP 地址的一致性哈希,相同源地址的请求会调度到相同的后端服务器。
- 健康检查:按需选择是否启用健康检查。若启用健康检查,需要配置以下参数:
- 响应超时:等待健康检查响应的时间。如果后端服务器在指定的时间内没有正确响应,则判定为健康检查异常。
- 检测间隔:执行健康检查的时间间隔。默认间隔为 2 秒,表示每 2 秒对后端服务器进行一次健康检查。
- 健康阈值:判断后端服务器正常的健康检查次数。默认为 3 次,表示连续执行 3 次健康检查,结果均为“正常”的后端服务器则判定为健康检查正常。
- 不健康阈值:判断后端服务器异常的健康检查次数。默认为 3 次,表示连续执行 3 次健康检查,结果均为“异常”的后端服务器则判定为健康检查异常。
|
端口映射 | 配置服务端口与容器端口的映射关系:- 名称:配置端口映射的名称。
- 服务端口:配置 Service 对外提供服务的端口,同一种协议的服务端口不允许重复。
- 协议:在下拉菜单中选择协议,支持 TCP 协议和 UDP 协议。
- 容器端口:配置容器的端口,该端口为工作负载对外提供服务的端口号。例如:Nginx 开放的默认端口号为 80。
|
标签选择器 | Service 通过标签选择器与后端容器组实例(Pod)绑定: - 添加标签:输入添加工作负载的标签,关联 Service 到指定工作负载。您可以在集群管理页面左侧导航栏单击 工作负载,找到目标工作负载,获取工作负载标签。
- 关联工作负载:直接选择工作负载,关联到 Service。当前支持关联无状态负载(Deployment)、有状态负载(Statefulset)和守护进程(DaemonSet)。
注意 LoadBlancer 类型 Service 关联弹性容器实例方式部署的工作负载时,仅支持使用 直通 Pod 模式,系统默认开启 直通 Pod 模式 开关,且不允许关闭。 |
外部流量策略 | Service 转发外部流量的策略: - Cluster:流量可以均衡转发到工作负载对应的所有 Pod。
- Local:流量只能转发到本节点的 Pod,可能存在流量不均衡转发问题,但可以保留客户端源 IP。
|
会话保持 | 是否启用会话保持功能。 - 默认未配置,表示不启用会话保持功能。
- 勾选 配置超时时间,启用会话保持功能,并配置会话保持的持续时间。启用后 Service 将来自同一个 IP 地址的访问请求转发到同一台后端服务器上。建议设置超时时间数值大于 120 秒。
说明 LoadBlancer 类型 Service 的会话保持,建议与 CLB 监听器的会话保持时间一致。详情请参见 FAQ。 |
- 单击 确定,完成配置。
结果验证
配置完成后,您可以在服务列表中查看已创建的负载均衡服务。其中,外部端点 即是与该服务对接的 CLB 公网 IP 地址。
单击目标服务的 操作 栏,在弹出的下拉菜单中选择 编辑 Yaml,可以查看该负载均衡服务的配置,包括该服务使用的 CLB 实例 ID。您可以在 均衡负载 控制台中,使用 CLB 实例 ID 查找对应的 CLB 实例。