用户指南

最佳实践

API 文档

文档中心 > 容器服务 > 用户指南 > Service 管理 > 使用 LoadBalancer 直连 Pod 模式 Service

使用 LoadBalancer 直连 Pod 模式 Service

最近更新时间:2021-05-20 10:01:54

操作场景

原生 LoadBalancer 模式 Servcie 可自动创建负载均衡 CLB,并通过集群的 Nodeport 转发至集群内,再通过 iptable 或 ipvs 进行二次转发。该模式下的 Service 能满足大部分使用场景,但在以下场景中更推荐使用直连 Pod 模式 Service

  • 有获取来源 IP 需求时(非直连模式必须另外开启 Local 转发)。
  • 要求具备更高转发性能时(非直连模式下 CLB 和 Service 本身存在两层 CLB,性能有一定损失)。
  • 需使用完整的健康检查和会话保持到 Pod 层级时(非直连模式下 CLB 和 Service 本身存在两层 CLB,健康检查及会话保持功能较难配置)。
说明:

当前 GlobalRouter 和 VPC-CNI 容器网络模式均支持直连 Pod 模式,您可以在 集群列表 中单击集群 ID 进入集群详情页面,在集群的“基本信息”页面中查看当前集群使用的网络插件。

容器网络模式为 VPC-CNI

使用限制

  • 集群 Kubernetes 版本需要高于 1.12。
  • 集群网络模式必须开启 VPC-CNI 弹性网卡模式。
  • 直连模式 Service 使用的工作负载需使用 VPC-CNI 弹性网卡模式。
  • 满足 CLB 本身绑定弹性网卡的功能限制,详情请参见 绑定弹性网卡
  • 开启直连 Pod 模式的工作负载更新时,将会根据 CLB 的健康检查状态进行滚动更新,会对更新速度造成一定影响。

操作步骤

  1. 登录 容器服务控制台
  2. 参考 控制台创建 Service 步骤,进入 “新建Service” 页面,根据实际需求设置 Service 参数。
    其中,部分关键参数信息需进行如下设置,如下图所示:
    • 服务访问方式:选择为【公网LB访问】或【内网LB访问】。
    • 网络模式:勾选【采用负载均衡直连Pod模式】。
    • Workload绑定:选择【引用Workload】,并在弹出窗口中选择 VPC-CNI 模式的后端工作负载。
  3. 单击【创建服务】,完成创建。

容器网络模式为 GlobalRouter

使用限制

  • 单个工作负载仅能运行在一种网络模式下,您可选择弹性网卡直连或 GlobalRoute 直连。
  • 仅支持带宽上移账号,如若当前账户是传统账号类型(带宽非上移),可参见 账户类型升级说明
  • 使用 CLB 直连 Pod,需注意网络链路受云服务器的安全组限制,确认安全组配置是否放开对应的协议和端口,需要开启 CVM 上工作负载对应的端口
  • 开启直连后,默认将启用 ReadinessGate 就需检查,将会在 Pod 滚动更新时检查来自负载均衡的流量是否正常,需要为业务方配置正确的健康检查配置,详情可参见 TKEServiceConfig 介绍
  • 直连 Globalrouter 模式下的 Pod 为内测功能,您可通过以下两种方式进行使用:
    • 通过 云联网 使用。推荐使用该方式,云联网可以校验绑定的 IP 地址,防止出现绑定出错、地址回环等 IP 绑定常见问题。操作步骤如下:
      1. 创建云联网实例。详情可参见 新建云联网实例
      2. 将集群所在 VPC 添加至已创建的云联网实例中。
      3. 将容器网段注册到云联网,在集群的“基本信息”页面中开启云联网。
    • 您可 提交工单 进行申请。此方式缺少云联网的 IP 校验功能,不推荐使用。

操作步骤

  1. 登录 容器服务控制台
  2. 参考 控制台创建 Service 步骤,进入 “新建Service” 页面,根据实际需求设置 Service 参数。
    其中,部分关键参数信息需进行如下设置,如下图所示:
    • 服务访问方式:选择为【公网LB访问】或【内网LB访问】。
    • 网络模式:勾选【采用负载均衡直连Pod模式】。
    • Workload绑定:选择【引用Workload】,并在弹出窗口中选择 VPC-CNI 模式的后端工作负载。
  3. 单击【创建服务】,完成创建。
目录