文章目录1. 前言2. 基础说明2.1 什么是 EndpointSlice2.2 废弃旧版 Endpoints2.3 查看 EndpointSlice 资源2.4 分片容量配置2.6 端点状态2.7 拓扑信息3. 进阶说明3.1 资源管理机制3.1.1 默认资源管理主体3.1.2 多控制器共存机制3.1.3 管理方隔离标签3.2 资源归属关系3.3 分片分配与填充逻辑3.3.1 分片拆分规则3.3.2 控制器填充分片执行流程3.3.3 核心设计权衡3.3.4 分片规整时机3.4 端点去重规则1. 前言在Kubernetes流量转发体系中Service只负责对外提供固定访问入口真正存储后端 Pod 真实 IP、端口、健康状态的资源是端点资源。在新版K8s中EndpointSlice已全面替代传统Endpoints成为集群后端端点管理的核心资源是kube-proxy流量转发、负载均衡的核心数据来源。2. 基础说明2.1 什么是 EndpointSliceEndpointSlice是Kubernetesv1.21正式稳定的API资源专门用于管理Service关联的后端端点列表核心存储数据为「Pod真实IP 业务端口 健康状态」。kube-proxy读取EndpointSlice作为集群内部流量路由的唯一可信数据源。精准区分核心职责Service管统一访问入口EndpointSlice管后端真实地址清单kube-proxy所有的负载均衡规则、流量转发逻辑全部依赖EndpointSlice同步的后端端点数据生成。2.2 废弃旧版 Endpoints在EndpointSlice出现之前K8s依靠Endpoints资源存储后端端点但原生Endpoints存在三大硬伤无法适配大规模集群生产场景不支持双栈网络无法同时兼容IPv4、IPv6双栈集群部署无法适配新一代云原生网络架构能力扩展性极差不支持流量分布权重、应用协议标识、端点拓扑、健康状态细分等现代化流量治理特性单对象容量瓶颈严重单个Endpoints对象存储的端点数量上限极低端点超过 1000 个会被直接截断导致大量后端Pod无法接入负载均衡业务流量异常、部分实例无法承接请求。为解决以上问题K8s推出分片式端点管理机制EndpointSlice采用动态分片存储策略默认每100个端点自动生成一个全新的EndpointSlice资源。无论后端Pod数量多少都不会出现端点截断、数据丢失问题完美支撑超大规模集群业务扩容。2.3 查看 EndpointSlice 资源集群控制平面会自动为配置了标签选择器的Service创建EndpointSlice其中包含所有匹配Service标签的Pod地址信息。EndpointSlice会按照IP协议族、传输协议、端口、Service名称进行分组存放端点。我们可以通过简单实验直观看到EndpointSlice分片存储效果以及它如何绑定Service与后端Pod。基于之前 Kubernetes 系列【16】服务ClusterIP 核心原理与演示案例查看集群EndpointSlice资源kubectl get endpointslices输出示例NAMEADDRESSTYPEPORTSENDPOINTSAGEnginx-svc-zdr4zIPv48010.84.42.203,10.99.87.177,10.84.42.2004h7m输出字段说明NAMEEndpointSlice资源名称由Service名称 随机后缀组成一个Service可对应多条分片EndpointSliceADDRESSTYPE地址类型支持IPv4/IPv6天然兼容双栈集群仅支持单协议族一个资源只能存放IPv4或IPv6地址若Service同时支持双栈IPv4IPv6控制器会生成至少两份独立EndpointSlice分别存放两种协议地址。PORTS后端容器监听端口与Service端口配置对应ENDPOINTS后端就绪Pod的真实IP地址清单当端点数量超过100个自动拆分生成多条独立EndpointSliceAGE资源创建时长。 对比提示旧资源Endpoints一个Service只能对应单个对象大量端点容易截断EndpointSlice采用分片机制多个对象共同承载后端列表无数量上限。查看EndpointSlice详细信息kubectl describe endpointslices nginx-svc-zdr4z输出示例Name: nginx-svc-zdr4z Namespace: default Labels: endpointslice.kubernetes.io/managed-byendpointslice-controller.k8s.io kubernetes.io/service-namenginx-svc Annotations: endpoints.kubernetes.io/last-change-trigger-time:2026-07-14T03:25:22Z AddressType: IPv4 Ports: Name Port Protocol ---- ---- -------- http-web80TCP Endpoints: - Addresses:10.84.42.203 Conditions: Ready:trueHostname:unsetTargetRef: Pod/nginx-web-55ff4cbb5c-sbjl8 NodeName: iz2ze60mcbemirrld91q6sz Zone:unset- Addresses:10.99.87.177 Conditions: Ready:trueHostname:unsetTargetRef: Pod/nginx-web-55ff4cbb5c-4pwpn NodeName: iz2ze60mcbemirrld91q6rz Zone:unset- Addresses:10.84.42.200 Conditions: Ready:trueHostname:unsetTargetRef: Pod/nginx-web-55ff4cbb5c-rl647 NodeName: iz2ze60mcbemirrld91q6sz Zone:unsetEvents:none核心观察点Endpoints列出所有后端Pod真实IP 端口Conditions标记Pod是否就绪Ports展示端口协议支持appProtocol自定义协议识别。2.4 分片容量配置默认每个EndpointSlice最多存放100个端点可通过kube-controller-manager启动参数 –max-endpoints-per-slice修改上限为1000。2.6 端点状态EndpointSlice内置三类端点状态Conditions字段供代理组件读取判断流量转发策略serving服务中代表当前端点可正常处理业务流量Pod场景下等价于Pod就绪状态Ready。terminating终止中标记该Pod已收到删除指令、正在销毁容器尚未退出。流量代理默认不会转发流量至终止中端点若所有端点均处于终止状态则会少量转发保障滚动更新期间业务无流量丢失。ready就绪等价于「serving且未终止」若Service开启publishNotReadyAddresses:true未就绪端点该状态也会为true。2.7 拓扑信息每个端点可携带节点、可用区拓扑元数据字段如下nodeName端点所在节点名称zone端点所属可用区3. 进阶说明3.1 资源管理机制EndpointSlice是 Kubernetes 替代传统Endpoints的大规模集群端点分片管理资源具备分片、扩容、多租户、多控制器隔离能力是现代kube-proxy流量转发的核心数据源。3.1.1 默认资源管理主体集群默认由控制平面内置端点分片控制器endpointslice-controller全权托管自动监听集群Service、Pod、Node资源变更自动完成EndpointSlice的创建、更新、删除、分片规整保证Service后端端点集合实时、精准、一致。3.1.2 多控制器共存机制EndpointSlice支持多控制器并行管理适配服务网格、自定义网关、自研负载均衡等拓展场景Istio、APISIX、Ingress-Nginx、自定义代理组件可独立维护专属分片不同控制器互不抢占、互不覆盖实现流量数据源隔离原生kube-proxy可根据标签精准识别、消费对应分片。3.1.3 管理方隔离标签K8s通过专属标签严格区分资源归属控制器避免多组件冲突覆盖标签键endpointslice.kubernetes.io/managed-by系统默认分片值为endpointslice-controller.k8s.io由集群控制器管理第三方组件必须配置唯一自定义标识如istio.io、kpng.io防止资源互相覆盖、错乱同步。3.2 资源归属关系所有EndpointSlice资源强归属某一个Service不存在无归属、多归属分片保证流量拓扑清晰。属主关联机制通过OwnerReference资源属主字段绑定父级Service删除 Service 时所有关联EndpointSlice级联自动回收杜绝僵尸资源。系统自动为所有分片注入固定标签标签kubernetes.io/service-name: ${svc-name}作用可通过标签一次性筛选当前 Service 全部分片用于排查端点、同步、故障定位。3.3 分片分配与填充逻辑EndpointSlice控制器拥有固定的分片拆分、复用、扩容策略是大规模集群性能优化的关键。3.3.1 分片拆分规则一个分片内所有端点必须共用同一组端口规则若Service使用命名端口不同Pod同名端口实际端口号不一致会强制拆分新分片端口集合不同的端点绝不混装在同一个EndpointSlice中保证kube-proxy转发规则正确性。3.3.2 控制器填充分片执行流程遍历当前Service所有已存在EndpointSlice清理失效、已删除、状态异常的端点更新发生变更的端点IP、状态、拓扑信息优先复用现有分片向空闲位置填充新增端点现有分片容量不足时新建分片而非强行填满旧分片。3.3.3 核心设计权衡官方分片策略遵循优先降低集群更新开销不追求分片利用率最大化。设计原因集群所有节点的kube-proxy都会监听全部EndpointSlice变更每次分片更新都会触发全集群节点规则重同步频繁合并、填满分片会产生海量全局更新导致控制面、节点 CPU 暴涨牺牲分片饱满度换取极低的集群广播更新压力。3.3.4 分片规整时机在Deployment滚动更新、扩缩容重建场景下旧Pod批量销毁、新Pod批量重建控制器自动整体重新规整分片自动填补历史碎片空位最终实现分片高利用率。3.4 端点去重规则由于分片变更同步存在时间差同一个端点可能同时存在于多个EndpointSlice。客户端强制规范读取Service后端列表时必须遍历该Service全部EndpointSlice汇总并去重所有端点。kube-proxy内部EndpointSliceCache提供标准聚合去重实现。
2006款Mac mini硬件评估与Linux系统优化实战指南 2006 年发布的初代 Intel 版 Mac mini,在当时以 5688 元的入门价格吸引了不少用户。如今十六年过去,这台搭载 Core Solo 或 Core Duo 处理器、最高 2GB DDR2 内存、集成 GMA950 显卡的小主机,如果还能正常启动,究竟能在今天的软硬…
江诗丹顿官方售后服务中心地址与服务电话实地考察报告+多信源验证(2026年7月最新) - 江诗丹顿官方服务中心 江诗丹顿官方售后服务中心全国统一客户服务热线已于2026年7月更新为:400-882-9682,客服在线时间为每日8:00至22:00。如需售后支持,请拨打本次最新公布的号码进行预约。官方售后服务中心地址也于2026年7月正式启用新…
第三章 工质状态与热力学过程(二)---可压缩性与理想气体模型 3.2 可压缩性与理想气体模型3.2.1 什么是可压缩性可压缩性(Compressibility)是指:流体在压力变化时,其体积或密度发生变化的能力。对于气体而言:压力升高时,分子间距减小,密度明显增大ÿ…
PE免杀 ---> PE加壳01 目录 什么是壳及其原理 壳的定义: 壳的原理(详细逻辑): 壳的知识点以及原理 壳本质上就是对PE文件上的一种应用 正常情况我们需要在源码加(壳代码) 核心概念匹配 也就是加密混淆的代码 程序开始运行的时候首先走到壳代码: 这是加壳的经典流程 额外知识: PE文…
2026最新CKA/CKS考试备考全攻略|CKA/CKS题库+真题+模拟环境+通关经验 先说说我为什么要考这CKA/CKS两个证 主要是那段时间项目上要用K8s,然后公司要挂证,挂证可以加工资,而且还报销。然后就直接报名考了! 最后考试成绩都很不错,高分通过,CKA 94分,CKS 91分&#…
Android 测试入门指南:ADB 基础配置与常用设备管理命令解析 摘要:对于 Android 软件测试人员而言,ADB (Android Debug Bridge) 是一项基础且实用的工具。它充当了计算机与 Android 设备之间的桥梁,在自动化测试、性能监控及应用管理等场景中均有应用。本文将系统地梳理 ADB 的核心概念、环境搭建、常用…
终极AI智能去水印工具:如何快速清除图片和视频中的水印 终极AI智能去水印工具:如何快速清除图片和视频中的水印 【免费下载链接】WatermarkRemover-AI AI-Powered Watermark Remover using Florence-2 and LaMA: Remove watermarks from images and videos, including AI-generated content from Sora, Runway, and other…
企业级AI Agent安全架构:从RBAC到ABAC的权限演进与实战部署 1. 项目概述:当Web开发者拥抱AI Agent最近和几个做企业级应用开发的老朋友聊天,发现一个挺有意思的现象:大家都不约而同地在研究怎么把大模型和AI Agent的能力“安全地”塞进自己的产品里。无论是想做个智能客服,还是搞个自动化流…
HSL通信 设备解析 配置IP 下载HSL Download - 胡工科技官网 查看PLC 通信文档 西门子S1200 -S7协议 创建winform 通过NUGet 引用HSL 导入代码示例 三菱SLMP协议 欧姆龙FINS协议 汇川 Modbus TCP 欧姆龙 Modbus TCP 与汇川一致 HSL通信基本使用流程 /* 1.确定PLC型号和使用的哪种通…
从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 更多请点击: https://kaifayun.com 第一章:从模糊意图到可执行指令:Claude PRD中Prompt Engineering与需求颗粒度的5级映射法则 在Claude驱动的产品需求文档(PRD)生成实践中,原始业务意图往往以自然语言片…
Cursor配置生成失效?3大隐藏陷阱+4行修复代码,资深工程师连夜整理的紧急补救清单 更多请点击: https://codechina.net 第一章:Cursor配置生成失效?3大隐藏陷阱4行修复代码,资深工程师连夜整理的紧急补救清单 Cursor 配置生成突然失效,是近期高频报障场景。表面看是 cursor.config.json 未更新或 LSP…
某智驾大牛创业 作者:钟声编辑:Mark出品:红色星际头图:智能驾驶图片据悉,国内某头部智驾公司端到端模型技术大牛Z投身创业,并且已经拿到融资。Z不仅是该头部公司内部最年轻的对标阿里P10级别技术负责⼈,更是业内…
PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 PlantUML 实战:5分钟将 UML 2.5 序列图转换为可执行代码草图 在软件开发过程中,清晰的系统设计往往比编码本身更为关键。传统拖拽式UML工具虽然直观,却常常成为效率杀手——频繁的鼠标操作打断设计思路,版本控制困难,…
【RT-DETR涨点改进】29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 29 动态Batch推理:让RT-DETR在低延迟下吃满GPU算力 开篇故事 上个月帮一家安防厂商做项目优化,他们用RT-DETR做实时人流统计,部署在NVIDIA A10上。客户反馈说:“GPU利用率才30%,但延迟已经飙到40ms了,加人流量就丢帧。” 我远程一看,好家伙——生产环境里每个请求单独…
Postman 环境变量实战:3种动态设置方法与CI/CD集成避坑指南 Postman 环境变量高阶实战:动态管理与 CI/CD 深度集成在接口自动化测试领域,环境变量的灵活运用往往成为区分初级与高级测试工程师的关键能力。本文将深入探讨 Postman 环境变量的三种动态设置模式,并分享 Newman 在 CI/CD 流水线中的实战避坑…
[C++]内存管理:串顺序存储的内存回收 在串(字符串)的顺序存储中,内存回收的方式取决于字符串的存储方式以及所使用的编程语言和相关库。以下以 C 为例进行说明,因为 C 对内存管理有较为直接的控制。 1. 基于 char 数组的串顺序存储 如果使用普通的 char 数组来存储字…
移动端游戏功耗测试实战:电流、功率、亮度和场景对比 移动端游戏功耗测试:先控制变量,再比较优化是否真的省电 摘要:功耗测试最容易犯的错误,是拿两次不同温度、不同亮度、不同场景的平均功率直接比较。本文给出一套可复现的游戏功耗测试方法,覆盖引擎特性验证、版本回归和黑盒体验测试,并说明如何把功耗与帧率、温控、CPU/G…
足球口袋教练 HarmonyOS 离线应用实战(03/20):ArkUI 首页仪表盘搭建 本文是“足球口袋教练 HarmonyOS 离线应用实战”系列第 3 篇。示例项目是一个 HarmonyOS / ArkTS / ArkUI 编写的离线足球训练助手,围绕真实页面、真实截图和可复现操作展开。 本篇要解决的问题 训练 App 的首页不能只展示欢迎语,它要解决“我现在该点哪…