最近更新时间:2023.11.09 11:33:42
首次发布时间:2022.03.04 23:10:38
负载均衡(LoadBalancer)一般用于将集群中的服务(Service)暴露到 VPC 内或公网。
k8s_
前缀的内容。说明
直通 Pod 模式场景,负载均衡器允许的后端服务器数有限,需自行规划和保证。详细限制,请参见 CLB 约束限制。
已创建无状态或有状态工作负载。详细操作,请参见 创建无状态负载、创建有状态负载。
配置项 | 说明 |
---|---|
名称 | 根据系统提示,配置服务的名称。在同一个命名空间下,名称必须唯一。 |
命名空间 | 选择服务所属的命名空间。建议选择您自定义的命名空间,或系统默认创建的 default 命名空间。命名空间相关介绍,请参见 命名空间概述。 |
标签 | 单击 添加标签 图标,配置服务的标签。标签能够为服务定义不同的属性,方便批量筛选等需求。 |
注解 | 单击 添加注解,为服务添加注解并配置键值对。也可通过配置路由规则 YAML 文件中特定的注解内容,以实现更加丰富的四层负载均衡能力。详细说明,请参见 通过 Annotation 配置四层负载均衡。 |
配置项 | 说明 |
---|---|
访问类型 | 配置服务的访问类型,本例中选择:负载均衡(LoadBalancer)。 |
通信协议 | 【邀测·申请试用】针对 IPv4/IPv6 双栈集群,提供按需配置服务通信协议能力,兼容 IPv6 地址访问服务的业务场景。包括以下选项:
说明 IPv4/IPv6 双栈集群搭建方法参见:通过 VKE 搭建 IPv4/IPv6 双栈集群。 |
直通 Pod 模式 | 仅 VPC-CNI 容器网络模型集群中显示该参数。默认不开启,开启后直接关联 Pod 作为负载均衡器的后端。但负载均衡器允许的后端服务器数有限,需自行规划和保证。详细限制,请参见 CLB 约束限制。 |
负载均衡器 | 配置服务的负载均衡器,按需选择或自动创建一个负载均衡器。支持 公网访问 和 私网访问 两种访问模式。
|
监听器 | 监听器负责监听负载均衡器上的请求,并分发流量。您需要配置监听器的调度算法和健康检查:
|
端口映射 | 配置服务端口与容器端口的映射关系:
|
标签选择器 | Service 通过标签选择器与后端容器组实例(Pod)绑定:
注意 LoadBlancer 类型 Service 关联弹性容器实例方式部署的工作负载时,仅支持使用 直通 Pod 模式,系统默认开启 直通 Pod 模式 开关,且不允许关闭。 |
外部流量策略 | Service 转发外部流量的策略:
|
会话保持 | 默认不配置。您可根据实际需求,勾选 配置超时时间,启用会话保持功能,并配置会话保持的持续时间。启用后 Service 将来自同一个 IP 地址的访问请求转发到同一台后端服务器上。 建议设置超时时间数值大于 120 秒。 说明 LoadBlancer 类型 Service 的会话保持,建议与 CLB 监听器的会话保持时间一致。两种会话保持相关说明,请参见 FAQ。 |
说明
通过 kubectl 命令行配置 LoadBalancer 访问类型的 Service 前请确保:
service-demo.yaml
代码如下:apiVersion: v1 kind: Service metadata: name: service-demo # 服务的名称。 spec: selector: app: nginx # 通过标签选择器将服务与后段容器组(Pod)绑定。 ipFamilyPolicy: PreferDualStack # 通信协议类型。SingleStack 表示单栈,PreferDualStack 表示双栈。 ipFamilies: # 具体使用的通信协议。单栈场景支持 IPv4;双栈场景支持 IPv4&IPv6、IPv6&IPv4。 - IPv6 - IPv4 ports: - name: rule # 端口映射规则名称。 protocol: TCP # 服务协议,支持 TCP 或 UDP。 port: 80 # 服务端口。 targetPort: 80 # 容器端口,即工作负载对外提供服务的端口号或端口名称,例如:Nginx 开放的默认端口号为 80。 type: LoadBalancer # 服务的类型,包括:Nodeport、ClusterIP 和 LoadBalancer。
kubectl apply -f service-demo.yaml