LoadBalancer Service Annotation说明

容器引擎 CCE

  • 功能发布记录
  • 产品描述
    • 介绍
    • 优势
    • 使用限制
    • 应用场景
    • 核心概念
    • 特性
  • 开发指南
    • EFK日志采集系统部署指南
    • 创建LoadBalancer类型的Service
    • Prometheus监控系统部署指南
    • kubectl管理配置
    • 在CCE集群中使用-Network-Policy
  • 常用工具
    • 视图命令行场景示例
  • 产品公告
    • CCE 新版集群管理发布公告
    • CCE 控制台升级公告
    • Kubernetes 版本发布说明
      • CCE发布Kubernetes 1.18版本说明
      • CCE发布Kubernetes 1.30版本说明
      • CCE Kubernetes 版本更新说明
      • CCE发布Kubernetes 1.22版本说明
      • CCE发布Kubernetes 1.20版本说明
      • CCE发布Kubernetes 1.28版本说明
      • CCE发布Kubernetes 1.24版本说明
      • CCE发布Kubernetes 1.26版本说明
    • 安全漏洞修复公告
      • 漏洞CVE-2020-14386修复公告
      • 修复漏洞CVE-2021-30465公告
      • 漏洞CVE-2019-5736修复公告
      • 漏洞CVE-2025-1097、CVE-2025-1098等修复公告
      • 关于 runc 的安全问题(CVE-2024-21626)影响声明
  • 快速入门
    • 快速部署nginx应用
    • 使用CCE容器引擎流程概述
  • 典型实践
    • CCE集群网络说明及规划
    • CCE典型实践之容器网络模式选择
    • Pod异常问题排查
    • 通过 CCE Ingress 实现虚机和容器服务的统一接入
    • CCE集群使用Jenkins持续发布
    • CCE-访问公网实践
    • Linux系统配置常用参数说明
    • 用户使用自定义 CNI 插件方法
    • CCE典型实践之Guestbook搭建
    • 使用KMS对etcd数据加密
    • 添加CGroup V2节点
    • CCE容器运行时选择
    • CCE使用检查清单
    • VPC-ENI模式集群访问公网实践
    • 利用 Velero 实现将应用跨云迁移到 百度CCE
    • 使用 CNI 配置容器内网络参数
    • CCE Resource Recommender 用户文档
    • CCE集群中使用私有镜像实践
    • 云原生AI
      • 使用 CCE AITraining Operator 实现弹性容错训练
      • 部署 TensorFlow Serving 推理服务
      • GPU虚拟化之隔离性最优型的最佳实践
  • 操作指南
    • 多用户访问控制
    • 使用须知
    • 命名空间管理
      • 设置资源配额
      • 设置资源限制
      • 命名空间基本操作
    • 弹性伸缩
      • 使用 cce-autoscaling-placeholder 实现秒级弹性伸缩
      • CCE 集群节点自动伸缩
      • 容器定时水平伸缩(CronHPA)
      • 容器水平伸缩(HPA)
    • 存储管理
      • 使用云盘CDS
      • 使用并行文件存储PFS
      • 使用对象存储BOS
      • 使用并行文件存储PFS L2
      • 使用本地存储
      • 使用数据湖存储加速工具RapidFS
      • 使用文件存储CFS
      • 概述
    • 节点管理
      • 移出节点
      • kubelet容器监控只读端口风险提示
      • 管理污点
      • 设置GPU显存共享
      • 添加节点
      • 自定义Kubelet参数
      • 设置节点封锁
      • 节点排水
      • 管理节点标签
    • 组件管理
      • CCE CSI BOS Plugin 说明
      • Kube Scheduler 说明文档
      • CCE CSI PFS L2 Plugin
      • CCE NodeLocal DNSCache 说明
      • CCE Ingress NGINX Controller 说明
      • CCE RDMA Device Plugin 说明
      • CCE Node Problem Detector 说明
      • CCE Credential Controller 说明
      • Kube Controller Manager 说明
      • CCE Ingress Controller 说明
      • CCE GPU Manager 说明
      • CCE Backup Controller 说明
      • CCE QoS Agent 说明
      • CCE Descheduler 说明
      • 组件概述
      • CCE Image Accelerate 说明
      • CCE Network Plugin说明
      • Kube ApiServer 说明
      • CCE Log Operator 说明
      • CoreDNS 说明
      • CCE NPU Manager 说明
      • CCE AI Job Scheduler 说明
      • CCE LB Controller 说明
      • CCE P2P Accelerator 说明
      • CCE_Hybrid_Manager说明
      • CCE CSI PFS Plugin 说明
      • CCE Deep Learning Frameworks Operator 说明
      • CCE Node Remedier 说明
      • CCE CSI CDS Plugin 说明
      • CCE Ascend Mindx DL说明
      • CCE Calico Felix 说明
      • CCE Virtual Kubelet组件
      • CCE Fluid说明
      • CCE Onepilot 说明
      • CCE CronHPA Controller 说明
      • CCE 动态调度插件说明
    • 云原生AI
      • 云原生AI概述
      • GPU虚拟化
        • MPS 最佳实践&注意事项
        • GPU独占和共享说明
        • GPU在离线混部使用说明
        • GPU虚拟化适配表
        • 单GPU容器共享多卡使用说明
        • 共享GPU场景下的镜像构建注意事项
        • 关闭节点显存共享功能注意事项
      • 队列管理
        • 逻辑队列和物理队列使用说明
        • 修改队列
        • 删除队列
        • 新建队列
      • 任务管理
        • 基于 NCCL的RDMA分布式训练示例
        • 新建AITraining任务
        • 新建PaddlePaddle任务
        • 删除任务
        • 查看任务信息
        • 新建Mxnet任务
        • 新建TensorFlow任务
        • 新建Pytorch任务
      • 数据集管理
        • 删除数据集
        • 操作数据集
        • 查看数据集
        • 新建数据集
      • AI监控大盘
        • 接入监控实例并开启采集任务
        • NVIDIA芯片资源观测
          • AI Job Scheduler组件
          • GPUManager组件
          • GPU资源池总览
          • GPU节点资源
          • GPU工作负载资源
        • 昇腾芯片资源观测
          • 昇腾节点资源
          • 昇腾资源池总览
          • 昇腾工作负载资源
      • AI 加速套件
        • 使用AIAK-Inference 加速推理业务
        • 使用AIAK-Training Pytorch版
        • AIAK 简介
        • 使用 AIAK-Training 部署分布式训练任务
    • Helm管理
      • Helm模板
      • Helm实例
    • 应用管理
      • 部署
      • 保密字典
      • 服务
      • 配置字典
      • 容器组
      • 概述
    • 镜像仓库
      • 使用容器镜像构建服务
      • 镜像仓库基本操作
    • Serverless集群
      • 在Serverless集群中使用Service
      • 产品概述
      • 创建Serverless集群
    • 工作负载
      • 设置工作负载自动水平伸缩
      • Statefulset管理
      • 使用私有镜像创建工作负载
      • Job管理
      • 查看容器组
      • CronJob管理
      • Daemonset管理
      • 免密拉取容器镜像
      • Deployment管理
    • 节点组管理
      • 节点组管理
      • 节点组介绍
      • 升级节点组
      • 添加外部已有节点
      • 自定义节点组 Kubelet 配置
      • 添加备选机型
      • 节点组节点故障检测自愈
      • 配置扩缩容策略
    • 监控日志
      • 使用Prometheus监控集群
      • CCE 事件中心
      • 集群审计仪表盘
      • CCE 集群异常事件报警
      • Java应用监控
      • 集群服务画像
      • 日志管理
      • 集群审计
      • 日志中心
        • 在容器引擎控制台配置采集规则
        • 查看集群控制面日志
        • 日志概述
        • 查看业务日志
        • 使用CRD配置采集规则
    • 网络管理
      • CCE 集群内容器访问集群外服务
      • 容器网段空间耗尽如何继续扩容(VPC-ENI模式)
      • 容器网段空间耗尽如何继续扩容(VPC网络模式)
      • CCE IP Masquerade Agent 用户指南
      • 创建VPC-ENI模式集群
      • 对等连接场景下容器流量转发配置
      • 使用Network Policy网络策略
      • CCE 支持 IPv4 和 IPv6 双栈网络
      • 在CCE集群中使用NetworkPolicy
      • 网络编排
        • 集群 Pod 子网拓扑分布(容器网络 v2)
        • 容器网络 QoS 管理
        • VPC-ENI指定子网分配IP(容器网络 v2)
      • 网络连通性
        • 容器网络通过 NAT 网关访问公网
      • 网络维护
        • CCE容器网络常见错误码对应表
      • DNS
        • DNS 原理概述
        • DNS 问题排查指南
        • CoreDNS 组件手动升级指南
    • 虚拟节点
      • 管理虚拟节点
      • 配置BCIPod
      • 配置bci-profile
    • 备份中心
      • 备份概述
      • 恢复管理
      • 备份仓库
      • 备份管理
    • 巡检与诊断
      • GPU运行环境检查
      • 集群巡检
      • 故障诊断
    • 流量接入
      • NGINX Ingress 使用配置参考
      • CCE基于nginx-ingress实现灰度发布
      • BLB Ingress Annotation说明
      • 通过CCE使用K8S_Ingress
      • 通过YAML创建LoadBalancer_Service
      • 通过CCE使用K8S_Service
      • LoadBalancer Service Annotation说明
      • 使用直连 Pod 模式 LoadBalancer Service
      • Service复用已有负载均衡BLB
      • 通过YAML创建CCE_Ingress
      • 使用 NGINX Ingress
    • 权限管理
      • 配置集群OIDC认证
      • 配置IAM标签权限策略
      • 配置IAM自定义权限策略
      • 配置IAM预置权限策略
      • 权限概述
      • 配置预置RBAC权限策略
    • 配置管理
      • Secret管理
      • Configmap管理
    • 集群管理
      • 集群快照
      • CCE 安全组
      • 查看集群
      • 创建集群
      • 操作集群
      • 升级集群Kubernetes版本
      • 通过kubectl连接集群
      • 托管集群使用说明
      • CCE 支持 GPUSharing 集群
      • CCE节点资源预留说明
      • CCE 节点 CDS 扩容
  • 服务等级协议SLA
    • CCE服务等级协议SLA(V1.0)
  • Solution-Fabric
    • Fabric解决方案
  • API参考
    • 通用说明
    • 公共头和错误返回
    • 概述
  • 常见问题
    • windows下使用kubectl
    • 自动扩缩容常见问题
    • 通过kubectl创建简单的服务
    • 业务应用如何使用负载均衡?
    • 常见问题总览
    • 集群管理常见问题
  • API_V2参考
    • 通用说明
    • Instance相关接口
    • 附录
    • Autoscaler相关接口
    • 组件管理相关接口
    • 套餐适配相关接口
    • Task相关接口
    • 公共头和错误返回
    • Network相关接口
    • 服务域名
    • Cluster相关接口
    • Kubeconfig相关接口
    • InstanceGroup相关接口
    • RBAC相关接口
    • 概述
  • 产品定价
    • 产品定价
  • Solution-Xchain
    • 超级链解决方案
  • SDK
    • Go-SDK
      • 节点组管理
      • 节点管理
      • 集群管理
      • 初始化
      • 安装SDK工具包
      • 概述
所有文档
menu
没有找到结果,请重新输入

容器引擎 CCE

  • 功能发布记录
  • 产品描述
    • 介绍
    • 优势
    • 使用限制
    • 应用场景
    • 核心概念
    • 特性
  • 开发指南
    • EFK日志采集系统部署指南
    • 创建LoadBalancer类型的Service
    • Prometheus监控系统部署指南
    • kubectl管理配置
    • 在CCE集群中使用-Network-Policy
  • 常用工具
    • 视图命令行场景示例
  • 产品公告
    • CCE 新版集群管理发布公告
    • CCE 控制台升级公告
    • Kubernetes 版本发布说明
      • CCE发布Kubernetes 1.18版本说明
      • CCE发布Kubernetes 1.30版本说明
      • CCE Kubernetes 版本更新说明
      • CCE发布Kubernetes 1.22版本说明
      • CCE发布Kubernetes 1.20版本说明
      • CCE发布Kubernetes 1.28版本说明
      • CCE发布Kubernetes 1.24版本说明
      • CCE发布Kubernetes 1.26版本说明
    • 安全漏洞修复公告
      • 漏洞CVE-2020-14386修复公告
      • 修复漏洞CVE-2021-30465公告
      • 漏洞CVE-2019-5736修复公告
      • 漏洞CVE-2025-1097、CVE-2025-1098等修复公告
      • 关于 runc 的安全问题(CVE-2024-21626)影响声明
  • 快速入门
    • 快速部署nginx应用
    • 使用CCE容器引擎流程概述
  • 典型实践
    • CCE集群网络说明及规划
    • CCE典型实践之容器网络模式选择
    • Pod异常问题排查
    • 通过 CCE Ingress 实现虚机和容器服务的统一接入
    • CCE集群使用Jenkins持续发布
    • CCE-访问公网实践
    • Linux系统配置常用参数说明
    • 用户使用自定义 CNI 插件方法
    • CCE典型实践之Guestbook搭建
    • 使用KMS对etcd数据加密
    • 添加CGroup V2节点
    • CCE容器运行时选择
    • CCE使用检查清单
    • VPC-ENI模式集群访问公网实践
    • 利用 Velero 实现将应用跨云迁移到 百度CCE
    • 使用 CNI 配置容器内网络参数
    • CCE Resource Recommender 用户文档
    • CCE集群中使用私有镜像实践
    • 云原生AI
      • 使用 CCE AITraining Operator 实现弹性容错训练
      • 部署 TensorFlow Serving 推理服务
      • GPU虚拟化之隔离性最优型的最佳实践
  • 操作指南
    • 多用户访问控制
    • 使用须知
    • 命名空间管理
      • 设置资源配额
      • 设置资源限制
      • 命名空间基本操作
    • 弹性伸缩
      • 使用 cce-autoscaling-placeholder 实现秒级弹性伸缩
      • CCE 集群节点自动伸缩
      • 容器定时水平伸缩(CronHPA)
      • 容器水平伸缩(HPA)
    • 存储管理
      • 使用云盘CDS
      • 使用并行文件存储PFS
      • 使用对象存储BOS
      • 使用并行文件存储PFS L2
      • 使用本地存储
      • 使用数据湖存储加速工具RapidFS
      • 使用文件存储CFS
      • 概述
    • 节点管理
      • 移出节点
      • kubelet容器监控只读端口风险提示
      • 管理污点
      • 设置GPU显存共享
      • 添加节点
      • 自定义Kubelet参数
      • 设置节点封锁
      • 节点排水
      • 管理节点标签
    • 组件管理
      • CCE CSI BOS Plugin 说明
      • Kube Scheduler 说明文档
      • CCE CSI PFS L2 Plugin
      • CCE NodeLocal DNSCache 说明
      • CCE Ingress NGINX Controller 说明
      • CCE RDMA Device Plugin 说明
      • CCE Node Problem Detector 说明
      • CCE Credential Controller 说明
      • Kube Controller Manager 说明
      • CCE Ingress Controller 说明
      • CCE GPU Manager 说明
      • CCE Backup Controller 说明
      • CCE QoS Agent 说明
      • CCE Descheduler 说明
      • 组件概述
      • CCE Image Accelerate 说明
      • CCE Network Plugin说明
      • Kube ApiServer 说明
      • CCE Log Operator 说明
      • CoreDNS 说明
      • CCE NPU Manager 说明
      • CCE AI Job Scheduler 说明
      • CCE LB Controller 说明
      • CCE P2P Accelerator 说明
      • CCE_Hybrid_Manager说明
      • CCE CSI PFS Plugin 说明
      • CCE Deep Learning Frameworks Operator 说明
      • CCE Node Remedier 说明
      • CCE CSI CDS Plugin 说明
      • CCE Ascend Mindx DL说明
      • CCE Calico Felix 说明
      • CCE Virtual Kubelet组件
      • CCE Fluid说明
      • CCE Onepilot 说明
      • CCE CronHPA Controller 说明
      • CCE 动态调度插件说明
    • 云原生AI
      • 云原生AI概述
      • GPU虚拟化
        • MPS 最佳实践&注意事项
        • GPU独占和共享说明
        • GPU在离线混部使用说明
        • GPU虚拟化适配表
        • 单GPU容器共享多卡使用说明
        • 共享GPU场景下的镜像构建注意事项
        • 关闭节点显存共享功能注意事项
      • 队列管理
        • 逻辑队列和物理队列使用说明
        • 修改队列
        • 删除队列
        • 新建队列
      • 任务管理
        • 基于 NCCL的RDMA分布式训练示例
        • 新建AITraining任务
        • 新建PaddlePaddle任务
        • 删除任务
        • 查看任务信息
        • 新建Mxnet任务
        • 新建TensorFlow任务
        • 新建Pytorch任务
      • 数据集管理
        • 删除数据集
        • 操作数据集
        • 查看数据集
        • 新建数据集
      • AI监控大盘
        • 接入监控实例并开启采集任务
        • NVIDIA芯片资源观测
          • AI Job Scheduler组件
          • GPUManager组件
          • GPU资源池总览
          • GPU节点资源
          • GPU工作负载资源
        • 昇腾芯片资源观测
          • 昇腾节点资源
          • 昇腾资源池总览
          • 昇腾工作负载资源
      • AI 加速套件
        • 使用AIAK-Inference 加速推理业务
        • 使用AIAK-Training Pytorch版
        • AIAK 简介
        • 使用 AIAK-Training 部署分布式训练任务
    • Helm管理
      • Helm模板
      • Helm实例
    • 应用管理
      • 部署
      • 保密字典
      • 服务
      • 配置字典
      • 容器组
      • 概述
    • 镜像仓库
      • 使用容器镜像构建服务
      • 镜像仓库基本操作
    • Serverless集群
      • 在Serverless集群中使用Service
      • 产品概述
      • 创建Serverless集群
    • 工作负载
      • 设置工作负载自动水平伸缩
      • Statefulset管理
      • 使用私有镜像创建工作负载
      • Job管理
      • 查看容器组
      • CronJob管理
      • Daemonset管理
      • 免密拉取容器镜像
      • Deployment管理
    • 节点组管理
      • 节点组管理
      • 节点组介绍
      • 升级节点组
      • 添加外部已有节点
      • 自定义节点组 Kubelet 配置
      • 添加备选机型
      • 节点组节点故障检测自愈
      • 配置扩缩容策略
    • 监控日志
      • 使用Prometheus监控集群
      • CCE 事件中心
      • 集群审计仪表盘
      • CCE 集群异常事件报警
      • Java应用监控
      • 集群服务画像
      • 日志管理
      • 集群审计
      • 日志中心
        • 在容器引擎控制台配置采集规则
        • 查看集群控制面日志
        • 日志概述
        • 查看业务日志
        • 使用CRD配置采集规则
    • 网络管理
      • CCE 集群内容器访问集群外服务
      • 容器网段空间耗尽如何继续扩容(VPC-ENI模式)
      • 容器网段空间耗尽如何继续扩容(VPC网络模式)
      • CCE IP Masquerade Agent 用户指南
      • 创建VPC-ENI模式集群
      • 对等连接场景下容器流量转发配置
      • 使用Network Policy网络策略
      • CCE 支持 IPv4 和 IPv6 双栈网络
      • 在CCE集群中使用NetworkPolicy
      • 网络编排
        • 集群 Pod 子网拓扑分布(容器网络 v2)
        • 容器网络 QoS 管理
        • VPC-ENI指定子网分配IP(容器网络 v2)
      • 网络连通性
        • 容器网络通过 NAT 网关访问公网
      • 网络维护
        • CCE容器网络常见错误码对应表
      • DNS
        • DNS 原理概述
        • DNS 问题排查指南
        • CoreDNS 组件手动升级指南
    • 虚拟节点
      • 管理虚拟节点
      • 配置BCIPod
      • 配置bci-profile
    • 备份中心
      • 备份概述
      • 恢复管理
      • 备份仓库
      • 备份管理
    • 巡检与诊断
      • GPU运行环境检查
      • 集群巡检
      • 故障诊断
    • 流量接入
      • NGINX Ingress 使用配置参考
      • CCE基于nginx-ingress实现灰度发布
      • BLB Ingress Annotation说明
      • 通过CCE使用K8S_Ingress
      • 通过YAML创建LoadBalancer_Service
      • 通过CCE使用K8S_Service
      • LoadBalancer Service Annotation说明
      • 使用直连 Pod 模式 LoadBalancer Service
      • Service复用已有负载均衡BLB
      • 通过YAML创建CCE_Ingress
      • 使用 NGINX Ingress
    • 权限管理
      • 配置集群OIDC认证
      • 配置IAM标签权限策略
      • 配置IAM自定义权限策略
      • 配置IAM预置权限策略
      • 权限概述
      • 配置预置RBAC权限策略
    • 配置管理
      • Secret管理
      • Configmap管理
    • 集群管理
      • 集群快照
      • CCE 安全组
      • 查看集群
      • 创建集群
      • 操作集群
      • 升级集群Kubernetes版本
      • 通过kubectl连接集群
      • 托管集群使用说明
      • CCE 支持 GPUSharing 集群
      • CCE节点资源预留说明
      • CCE 节点 CDS 扩容
  • 服务等级协议SLA
    • CCE服务等级协议SLA(V1.0)
  • Solution-Fabric
    • Fabric解决方案
  • API参考
    • 通用说明
    • 公共头和错误返回
    • 概述
  • 常见问题
    • windows下使用kubectl
    • 自动扩缩容常见问题
    • 通过kubectl创建简单的服务
    • 业务应用如何使用负载均衡?
    • 常见问题总览
    • 集群管理常见问题
  • API_V2参考
    • 通用说明
    • Instance相关接口
    • 附录
    • Autoscaler相关接口
    • 组件管理相关接口
    • 套餐适配相关接口
    • Task相关接口
    • 公共头和错误返回
    • Network相关接口
    • 服务域名
    • Cluster相关接口
    • Kubeconfig相关接口
    • InstanceGroup相关接口
    • RBAC相关接口
    • 概述
  • 产品定价
    • 产品定价
  • Solution-Xchain
    • 超级链解决方案
  • SDK
    • Go-SDK
      • 节点组管理
      • 节点管理
      • 集群管理
      • 初始化
      • 安装SDK工具包
      • 概述
  • 文档中心
  • arrow
  • 容器引擎CCE
  • arrow
  • 操作指南
  • arrow
  • 流量接入
  • arrow
  • LoadBalancer Service Annotation说明
本页目录
  • LoadBalancer Service Annotation说明
  • 指定使用的应用型BLB
  • LB Service 根据 Label 选择挂载目标节点
  • 指定EIP地址/在删除时保留EIP资源
  • 设置LB Service关联的BLB名称
  • 在删除时保留应用型BLB资源
  • 指定新建BLB所在子网
  • 设置LB Service仅供VPC内网访问
  • 自定义EIP配置
  • 隐藏应用型BLB内网IP地址
  • 设置BLB默认挂载的最大后端数
  • 使用Pod直连模式
  • 全量配置更新(配置实时更新)
  • 配置BLB安全组
  • 使用专属BLB集群
  • 扩展Service端口协议
  • 设置服务器组动态权重
  • 设置服务器组健康检查

LoadBalancer Service Annotation说明

更新时间:2025-08-21

LoadBalancer Service Annotation说明

在使用CCE提供的LoadBalancer类型的Service资源时(下文简称LB Service),可以通过在Annotation中添加注解的方式来使用一些高级配置。

Annotation位于Service完整YAML的以下位置:

Plain Text
1apiVersion: v1
2kind: Service
3metadata:
4  name: service-example
5  annotations:
6    prometheus.io/scrape: "true"
7    service.beta.kubernetes.io/cce-load-balancer-internal-vpc: "true" # LB Service 不分配 EIP
8……

LoadBalancer Service可以使用以下高级配置项:

指定使用的应用型BLB

取值说明

若设置,CCE将在指定的应用型BLB上配置LB Service规则;

若缺失,CCE会新建一个应用型BLB,并自动设置该Annotation为新建应用型BLB的ID。

注意事项

  • 只支持应用型BLB;
  • 需要自行先创建好应用型BLB,BLB应在集群所在的VPC内;
  • 修改或删除可能会导致BLB泄露,修改LB Service资源对象时不要覆盖或丢失该Annotation。

示例

service.beta.kubernetes.io/cce-load-balancer-id: lb-12345678

LB Service 根据 Label 选择挂载目标节点

取值说明

Service 可以通过注解 service.beta.kubernetes.io/cce-load-balancer-backend-label: "k1=v1, k2=v2 ..." ,选择 Label 匹配的节点进行绑定;

若未添加标签,Service 后端会排空,相应的 Service 描述中会上报事件。

注意事项

  • 多个 Label 以逗号分隔,例如 "k1=v1,k2=v2" ,多个Label之间是 And 关系;
  • 当注解为 service.beta.kubernetes.io/cce-load-balancer-backend-label: "k1=v1, k2=v2 ..." 的选择器没有选取到任何节点的时候,服务的后端将会被排空,会使得服务中断。使用此功能时,需要对集群节点的 Label 有一定的管理;
  • 添加符合要求的节点或变更存量节点也会触发更新;
  • Service Local 模式本身就具有节点选择能力,所以请不要在 Service Local 模式下,使用指定接入层后端的能力。

示例

Plain Text
1apiVersion: v1
2kind: Service
3metadata:
4  name: service-example
5  annotations:
6    service.beta.kubernetes.io/cce-load-balancer-backend-label: k1=v1, k2=v2 # 多个Label之间是 And 关系
7......

指定EIP地址/在删除时保留EIP资源

取值说明

该配置在Spec字段中,不在Annotation中。

在spec.loadBalancerIP配置一个EIP地址,CCE将会把该EIP绑定在LB Service对应的应用型BLB上;并且在删除LB Service资源时,也不会删除该EIP资源;

若缺失,CCE会默认新建一个EIP,但不会设置这里的字段,该字段将始终保持为空。

注意事项

  • 可以指定预付费EIP资源;
  • 修改或删除可能会导致EIP泄漏,修改LB Service资源对象时不要覆盖或丢失该配置;
  • 如果在创建时忘记添加,可以在删除前补上这一条,在删除前添加依然有效;
  • 如果LB Service上已经使用了某个EIP,更改该Annotation不会更换应用型BLB上绑定的EIP地址,需要用户自行换绑。

示例

Plain Text
1kind: Service
2apiVersion: v1
3metadata:
4    name: test
5spec:
6    type: LoadBalancer
7    loadBalancerIP: 8.8.8.8
8......

设置LB Service关联的BLB名称

取值说明

用于设置该LB Service关联的BLB的名称,否则使用默认生成的名称格式(集群ID/svc/命名空间/Service名称)来创建BLB。

有时,默认名称会超出最长限制(64个字符),此时需要手动设置该Annotation的值来指定BLB的名称。

注意事项

  • 不要和已有BLB的名称相同,否则可能发生混淆,导致误用BLB的情况发生。

示例

service.beta.kubernetes.io/cce-load-balancer-lb-name: cce-test-name

在删除时保留应用型BLB资源

取值说明

若值为true,则在该LB Service资源对象被删除时,关联的应用型BLB资源不会被删除;

若缺失,或值是false,则在该LB Service资源对象被删除时,关联的应用型BLB将会被删除。

注意事项

  • 如果在创建时忘记添加该Annotation,可以在删除前补上这一条,在删除前添加依然有效。

示例

service.beta.kubernetes.io/cce-load-balancer-reserve-lb: "true"

指定新建BLB所在子网

取值说明

若值为集群所在VPC的有效子网ID,则CCE会在需要新建应用型BLB时,将应用型BLB创建在该子网中;

若缺失,CCE将会自行选择创建应用型BLB的子网。

注意事项

  • 只针对新建应用型BLB有效。

示例

service.beta.kubernetes.io/cce-load-balancer-subnet-id: "sbn-12345678"

设置LB Service仅供VPC内网访问

取值说明

若值为true,CCE不会为其创建和设置EIP地址;

若缺失,或值是false,CCE会为应用型BLB分配和绑定EIP。

注意事项

  • 如果应用型BLB上已经绑定了EIP,在添加该Annotation后,EIP不会被后台解绑,用户需要自行解绑。

示例

service.beta.kubernetes.io/cce-load-balancer-internal-vpc: "true"

自定义EIP配置

取值说明

LB Service在未指定EIP时且未配置仅供VPC内网访问时,会创建EIP资源。

可以在Annotation中设置新建EIP的配置:

  • 指定计费方式:

支持ByTraffic(按流量计费)和ByBandwidth(按带宽计费)。

对应的Annotation为service.beta.kubernetes.io/cce-elastic-ip-billing-method。

  • 指定线路类型:

支持增强型 BGP 与标准型 BGP 两种线路类型,CCE 默认支持对应的Annotation为service.beta.kubernetes.io/cce-elastic-ip-route-type,其中 BGP_S 代表增强型 BGP,BGP 代表标准型 BGP,ChinaTelcom 代表电信单线,ChinaUnicom 代表联通单线,ChinaMobile 代表移动单线,使用示例如下:

示例

Plain Text
1# 增强型 BGP
2service.beta.kubernetes.io/cce-elastic-ip-route-type:'BGP_S' 
  • 指定带宽:

取值范围为[1, 5000]。

对应的Annotation为service.beta.kubernetes.io/cce-elastic-ip-bandwidth-in-mbps。

注意事项

  • 新建EIP都是后付费类型,暂不支持使用Annotation指定创建预付费EIP;
  • 计费方式和线路类型只针对新建EIP有效;EIP带宽允许变更,但需要增加 全量配置更新(配置实时更新)Annotation service.kubernetes.io/cce-update-in-time: "true" 才能生效。
  • 当带宽额度大小不为合法数字时,会上报警告事件;
  • 当您没有添加带宽额度注解时,CCE 会为您默认创建并绑定带宽额度大小为100,计费方式为按流量计费的标准型 EIP;
  • 境外部分区域暂不支持增强型 BGP 创建,详情请见;
  • 带宽额度在不同线路类型和计费类型组合下,取值范围不同,如下表所示:
线路类型 标准型 BGP 增强型 BGP
流量计费 [1, 200] [100, 1000]
带宽计费 [1, 500] [100, 5000]
  • 在不满足以下四种条件的情况下,会导致创建 EIP 失败:
线路类型 标准型 BGP 使用说明 增强型 BGP 使用说明
流量计费 需要添加如下带宽范围注解,且注解取值范围是[1, 200]
service.beta.kubernetes.io/cce-elastic-ip-bandwidth-in-mbps: "99"
service.beta.kubernetes.io/cce-elastic-ip-billing-method: ByTraffic
service.beta.kubernetes.io/cce-elastic-ip-route-type: BGP
需同时添加如下带宽范围和线路类型注解,且注解取值范围是[100, 1000]
service.beta.kubernetes.io/cce-elastic-ip-bandwidth-in-mbps: "200"
service.beta.kubernetes.io/cce-elastic-ip-billing-method: ByTraffic
service.beta.kubernetes.io/cce-elastic-ip-route-type: BGP_S
带宽计费 需同时添加如下带宽范围和计费类型注解,且注解取值范围是[1, 500]
service.beta.kubernetes.io/cce-elastic-ip-bandwidth-in-mbps: "99"
service.beta.kubernetes.io/cce-elastic-ip-billing-method: ByBandwidth
service.beta.kubernetes.io/cce-elastic-ip-route-type: BGP
需同时添加如下带宽范围、线路类型和计费类型注解,且注解取值范围是[100, 5000]
service.beta.kubernetes.io/cce-elastic-ip-bandwidth-in-mbps: "5000"
service.beta.kubernetes.io/cce-elastic-ip-billing-method: ByBandwidth
service.beta.kubernetes.io/cce-elastic-ip-route-type: BGP_S

隐藏应用型BLB内网IP地址

取值说明

若值为true,即可在Service的Status中不再展示应用型BLB内网IP字段;

若缺失,或值是false,则Service的Status中正常展示应用型BLB内网IP字段。

示例

service.beta.kubernetes.io/cce-load-balancer-external: "true"

设置BLB默认挂载的最大后端数

取值说明

该Annotation用于限制LB Service挂载的后端数目。

默认是200。

注意事项

  • 如果Service的Spec.ExternalTrafficPolicy值为Local,或使用Pod直连模式,请设置该值确保比集群节点数大。否则未挂载到BLB后端的节点或Pod将无法接收到流量。

示例

service.beta.kubernetes.io/cce-load-balancer-rs-max-num: 500

使用Pod直连模式

取值说明

添加Annotationservice.beta.kubernetes.io/cce-load-balancer-backend-type: "eni",将会使用Pod直连模式配置应用型BLB, 即流量直接从应用型BLB到达后端Pod。

注意事项

  • 不可以在已有的Annotation上添加该Annotation来将其切换成Pod直连模式,如果有需要,请新建一个LB Service;反之亦然。

示例

service.beta.kubernetes.io/cce-load-balancer-backend-type: "eni"

全量配置更新(配置实时更新)

取值说明

  • CCE 默认不会同步所有的 BLB 配置:即使有修改,CCE 也不会主动同步BLB 监听器配置、健康检查规则、EIP 带宽配置、BLB 安全组规则。
  • 若该Annotation值为true,CCE 会全量更新 BLB 配置:在修改 BLB 监听器配置、健康检查规则、EIP 带宽配置、BLB 安全组规则之后,立即更新 BLB 和 EIP 相关配置;

注意事项

  • CCE不会自动添加该 Annotation,需要自行按需添加;

示例

service.kubernetes.io/cce-update-in-time: "true"

配置BLB安全组

取值说明

Service 可以通过注解 service.beta.kubernetes.io/cce.security.groups: "sgID1, sgID2 ...",设置BLB实例所关联的安全组,支持传入多个安全组ID,以英文逗号隔开。

注意事项

  • CCE不会自动添加该Annotation,需要自行按需添加,若未设置此注解,则CCE默认不会给BLB实例关联安全组;
  • 需要同时搭配 service.kubernetes.io/cce-update-in-time: "true" 注解使用,用于触发安全组配置更新到BLB实例

示例

service.beta.kubernetes.io/cce.security.groups: 'sgID1,sgID2'

使用专属BLB集群

取值说明

当用户存在BLB专属集群时,后端会优先将应用型BLB创建在BLB专属集群上。

使用以下Annotation可以指定是否使用专属集群,以及使用的专属集群ID:

  • 使用共享集群创建应用型BLB

使用该Annotationservice.beta.kubernetes.io/no-use-blb-cluster-l4: "true"之后,应用型BLB将创建在共享集群上。

  • 指定创建在L4专属集群上

使用该Annotationservice.beta.kubernetes.io/no-use-blb-cluster-l4: "test"之后,应用型BLB将创建在指定的专属BLB集群上。

注意事项

  • 有了专属集群之后,如果没有显式添加Annotation,将由后台自动选择所在的专属BLB集群。

示例

Plain Text
1service.beta.kubernetes.io/no-use-blb-cluster-l4: "true"

扩展Service端口协议

取值说明

扩展协议配置用于补充Spec中规定的端口的协议配置,这些扩展配置将作用于应用型BLB的监听器上。

扩展协议中配置的端口,应首先存在于Spec配置中,否则扩展协议配置不会生效。

扩展协议内容在service.beta.kubernetes.io/cce.listener.customized-listener Annotation下,完整配置内容请参考示例。每种协议能配置的参数如下:

扩展TCP协议

参数名称 描述
protocol TCP
timeout 非必填。TCP会话超时时间。
scheduler 负载均衡方法。支持"RoundRobin"、"LeastConnection"、"Hash",默认"RoundRobin"。

扩展UDP协议

参数名称 描述
protocol UDP
timeout 非必填。UDP会话超时时间。
scheduler 负载均衡方法。支持"RoundRobin"、"LeastConnection"、"Hash",默认"RoundRobin"。

扩展TCP-SSL协议

参数名称 描述
protocol TCP-SSL
timeout 非必填。TCP-SSL服务端超时时间。默认"30"。
scheduler 非必填。负载均衡方法。支持"RoundRobin"、"LeastConnection"、"Hash",默认"RoundRobin"。
serverCertIDs 必填。服务端证书ID链,逗号分隔。
encryptionType 非必填。加密选项,默认tls_cipher_policy_default。支持:tls_cipher_policy_default/tls_cipher_policy_1_1/tls_cipher_policy_1_2/tls_cipher_policy_1_2_secure/userDefind。
encryptionProtocols 非必填。加密协议,当encryptionType值为userDefind时协议类型列表,是以"tlsv10"、"tlsv11"、"tlsv12"三种协议组合形成的字符串列表。
appliedCiphers 非必填。加密套件。不同加密套件用冒号":"隔开。
dualAuth 非必填。是否开启双向认证。默认"false"。
clientCertIDs 非必填。开启双向认证的客户端证书链。

扩展HTTP协议

参数名称 描述
protocol HTTP
scheduler 非必填。负载均衡方法。支持"RoundRobin"、"LeastConnection",默认"RoundRobin"。
timeout 非必填。HTTP服务端超时时间。默认"30"。
redirectPort 非必填。HTTPS重定向端口。
disableXForwardedForHeader 非必填。是否关闭XForwardedFor头。默认"false"。
enableXForwardedProtoHeader 非必填。是否开启XForwardedProto头。默认"false"。
enableKeepSession 非必填。是否开启会话保持。默认"false"。
keepSessionType 非必填。会话保持的Cookie处理方式,当且仅当开启会话保持时有效,支持"insert"/"rewrite",默认"insert"。
keepSessionTimeout 非必填。会话保持超时时间。
KeepSessionCookieName 非必填。会话保持类型为"rewrite"时Cookie的名称。

扩展HTTPS协议

参数名称 描述
protocol HTTPS
scheduler 非必填。负载均衡方法。支持"RoundRobin"、"LeastConnection",默认 "RoundRobin"。
timeout 非必填。HTTP服务端超时时间。默认"30"。
serverCertIDs 必填。服务端证书ID链,逗号分隔。
encryptionType 非必填。加密选项,默认tls_cipher_policy_default。支持:tls_cipher_policy_default/tls_cipher_policy_1_1/tls_cipher_policy_1_2/tls_cipher_policy_1_2_secure/userDefind。
encryptionProtocols 非必填。加密协议,当encryptionType值为userDefind时协议类型列表,是以"tlsv10"、"tlsv11"、"tlsv12"三种协议组合形成的字符串列表。
appliedCiphers 非必填。加密套件。不同加密套件用冒号":"隔开。
dualAuth 非必填。是否开启双向认证。默认"false"。
clientCertIDs 非必填。开启双向认证的客户端证书链。
disableXForwardedForHeader 非必填。是否关闭XForwardedFor头。默认"false"。
enableXForwardedProtoHeader 非必填。是否开启XForwardedProto头。默认"false"。
enableKeepSession 非必填。是否开启会话保持。默认"false"。
keepSessionType 非必填。会话保持的Cookie处理方式,当且仅当开启会话保持时有效,支持"insert"/"rewrite",默认"insert"。
keepSessionTimeout 非必填。会话保持超时时间。
KeepSessionCookieName 非必填。会话保持类型为"rewrite"时Cookie的名称。

注意事项

  • CCE不会自动添加该Annotation,需要自行按需添加;
  • 只有Spec中的端口协议为TCP时,才可以在为其添加TCP、TCP-SSL、HTTP、HTTPS扩展协议配置;如果端口在Spec中为UDP协议,则只能为其添加UDP扩展协议配置;
  • 修改扩展协议类型,或是删除某个端口的扩展协议配置,将会导致应用型BLB对应端口的监听器重建,请谨慎操作。

示例

Plain Text
1service.beta.kubernetes.io/cce.listener.customized-listener: |-
2      {
3         "81":{
4            "protocol":"TCP",
5            "timeout":"31",
6            "scheduler":"Hash"
7         },
8         "82":{
9            "protocol":"UDP",
10            "timeout":"31",
11            "scheduler":"Hash"
12         },
13         "83":{
14            "protocol":"HTTP",
15            "redirectPort":"84",
16            "timeout":"31",
17            "scheduler":"LeastConnection",
18            "enableKeepSession":"true",
19            "keepSessionType":"rewrite",
20            "disableXForwardedForHeader": "true",
21            "enableXForwardedProtoHeader": "true"
22         },
23         "84":{
24            "protocol":"HTTPS",
25            "serverCertIDs":"cert-5bqpykggjzmi",
26            "timeout":"31",
27            "scheduler":"LeastConnection",
28            "enableKeepSession":"true",
29            "keepSessionType":"rewrite",
30            "encryptionType": "userDefind",
31            "encryptionProtocols": "tlsv10, tlsv11, tlsv12",
32            "appliedCiphers": "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA"
33         },
34         "85":{
35            "protocol":"TCP-SSL",
36            "serverCertIDs":"cert-5bqpykggjzmi",
37            "timeout":"31",
38            "scheduler":"LeastConnection",
39            "encryptionType": "userDefind",
40            "encryptionProtocols": "tlsv10, tlsv11, tlsv12",
41            "appliedCiphers": "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA"
42         }
43      }

示例 LoadBalancer Service

Plain Text
1apiVersion: v1
2kind: Service
3metadata:
4  annotations:
5    service.beta.kubernetes.io/cce.listener.customized-listener: |-
6      {
7         "81":{
8            "protocol":"TCP",
9            "timeout":"31",
10            "scheduler":"Hash"
11         },
12         "82":{
13            "protocol":"UDP",
14            "timeout":"31",
15            "scheduler":"Hash"
16         },
17         "83":{
18            "protocol":"HTTP",
19            "redirectPort":"84",
20            "timeout":"31",
21            "scheduler":"LeastConnection",
22            "enableKeepSession":"true",
23            "keepSessionType":"rewrite",
24            "disableXForwardedForHeader": "true",
25            "enableXForwardedProtoHeader": "true"
26         },
27         "84":{
28            "protocol":"HTTPS",
29            "serverCertIDs":"cert-5bqpykggjzmi",
30            "timeout":"31",
31            "scheduler":"LeastConnection",
32            "enableKeepSession":"true",
33            "keepSessionType":"rewrite",
34            "encryptionType": "userDefind",
35            "encryptionProtocols": "tlsv10, tlsv11, tlsv12",
36            "appliedCiphers": "ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES128-SHA"
37         },
38         "85":{
39            "protocol":"TCP-SSL",
40            "serverCertIDs":"cert-5bqpykggjzmi",
41            "timeout":"31",
42            "scheduler":"LeastConnection"
43         }
44      }
45  name: service-example
46  namespace: default
47spec:
48  clusterIP: 172.16.27.138
49  externalTrafficPolicy: Cluster
50  ports:
51    - name: nginx-1
52      nodePort: 30710
53      port: 81
54      protocol: TCP
55      targetPort: 80
56    - name: nginx-2
57      nodePort: 30792
58      port: 82
59      protocol: UDP
60      targetPort: 80
61    - name: nginx-3
62      nodePort: 31906
63      port: 83
64      protocol: TCP
65      targetPort: 80
66    - name: nginx-4
67      nodePort: 32514
68      port: 84
69      protocol: TCP
70      targetPort: 80
71    - name: nginx-5
72      nodePort: 31749
73      port: 85
74      protocol: TCP
75      targetPort: 80
76    - name: nginx-6
77      nodePort: 31569
78      port: 86
79      protocol: TCP
80      targetPort: 80
81  selector:
82    app: nginx
83  sessionAffinity: None
84  type: LoadBalancer

设置服务器组动态权重

取值说明

添加该Annotation后,在LoadBalancer Service的ExternalTrafficPolicy为Local模式且未开启Pod直连时,CCE根据节点上的Pod数量来为BLB的后端服务器设置权重;否则,CCE为每个后端节点设置均等权重。

这可以避免在ExternalTrafficPolicy为Local模式下产生Pod负载不均衡问题。

注意事项

  • CCE不会自动添加该Annotation,用户需要按需自行添加。
  • 在总体Pod数较少时且平均负载较高时,滚动更新Pod时可能会导致某些Pod负载短时过高;请避免在这种情况下使用该配置项。

示例

Plain Text
1service.beta.kubernetes.io/cce-dynamic-backend-server-weight: 'true'

设置服务器组健康检查

取值说明

若设置,CCE将会给BLB对应的服务器组设置对应配置的健康检查;

若缺失,CCE将会给BLB对应的服务器组设置默认配置的健康检查。

注意事项

  • 默认健康检查配置可能会导致检查失败,建议自定义健康检查配置,更多信息可参考负载均衡BLB健康检查介绍。

示例

Plain Text
1# LB Service 的各个端口可能使用不同协议,因此需要单独对每个端口来设置健康检查
2
3## 1、Service 监听端口为 80,健康检查协议为 TCP
4service.beta.kubernetes.io/cce.listener.customized-health-check:  |-
5      {
6         "80":{
7            "healthCheck":"TCP", #健康检查协议
8            "healthCheckTimeoutInSecond":"3", #响应超时时间
9            "healthCheckIntervalInSecond":"3", #健康检查间隔
10            "healthCheckDownRetry":"3", #不健康阈值
11            "healthCheckUpRetry": "3" #健康阈值
12         }
13      }
14      
15## 2、Service 监听端口为 80,健康检查协议为 UDP
16 service.beta.kubernetes.io/cce.listener.customized-health-check:  |-
17      {
18         "80":{
19            "healthCheck":"UDP",
20            "udpHealthCheckString":"\00\01\01\00\00\01\00\00\00\00\00\00\05baidu\03com\00\00\01\00\01", #检查字符串
21            "healthCheckTimeoutInSecond":"3",
22            "healthCheckIntervalInSecond":"3",
23            "healthCheckDownRetry":"3",
24            "healthCheckUpRetry": "3"
25         }
26      }
27      
28## 3、Service 监听端口为 80,健康检查协议为 ICMP
29 service.beta.kubernetes.io/cce.listener.customized-health-check:  |-
30      {
31         "80":{
32            "healthCheck":"ICMP",
33            "healthCheckTimeoutInSecond":"3",
34            "healthCheckIntervalInSecond":"3",
35            "healthCheckDownRetry":"3",
36            "healthCheckUpRetry": "3"
37         }
38      }
39      
40## 4、Service 监听端口为 80,健康检查协议为 HTTP
41service.beta.kubernetes.io/cce.listener.customized-health-check:  |-
42      {
43         "80":{
44            "healthCheck":"HTTP",
45            "healthCheckHost": "baidu.com", #Host头域
46            "healthCheckPort":"80", #检查端口
47            "healthCheckUrlPath":"/", #检查路径
48            "healthCheckTimeoutInSecond":"2",
49            "healthCheckIntervalInSecond":"2",
50            "healthCheckDownRetry":"3",
51            "healthCheckUpRetry": "2",
52            "healthCheckNormalStatus": "http_2xx|http_3xx" #正常状态码,可选项有“http_2xx”、“http_3xx”、“http_4xx”、“http_5xx”,支持多选
53         }
54      }      

上一篇
通过CCE使用K8S_Service
下一篇
使用直连 Pod 模式 LoadBalancer Service