【k8s】为什么statefulSet初始化pod需要service name

为什么statefulSet初始化需要service name? Deployment初始化pod是不需要的。首先明确每个service都有一个域名,这是服务发现机制决定的,而statefulSet需要给每个pod一个唯一固定的域名,并且需要在pod创建时就确定,service name理论上应该在其中。这时service还不能通过label selector去筛选它应该管理的pod,因为pod还没创建完毕,所以要填一个service name。而deployment不需要,只管把pod创建好,然后service再去筛选,再去管理。

不过这并不代表,stateful set只能被一个service管理,因为其中的pod的唯一域名只起到一个,唯一,的作用。意思就是你大可以随便写一个random string,然后再创建service通过label selector来管理pod。只是一般为了好理解,写service名称。

目前是这样理解的,不过还没有学关键的路由工作原理,仅供参考。

相关推荐
掉鱼的猫41 分钟前
Solon AOT & Native:三段式编译,从 Java 到原生可执行文件
java·云原生
x-cmd3 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
不老刘16 小时前
【Java入门】Java服务部署方式全景对比:从java -jar到K8s
java·kubernetes·jar
mit6.82419 小时前
AKS--Azure Managed Kubernetes
kubernetes·flask·azure
爱莉希雅&&&20 小时前
K8s NFS+StorageClass+PV/PVC+Deployment 实战笔记
笔记·容器·kubernetes
阿里云云原生20 小时前
2026云栖大会定档!
云原生
人间凡尔赛21 小时前
eBPF + WebAssembly 正在重写服务网格数据平面:2026 云原生架构的“去 Sidecar“革命
后端·云原生·架构
一位正在转型AI全栈的前端工程师1 天前
前端转全栈:从 502 到 200,我的第一个 Docker+Nginx+Node.js 项目
docker·容器
云烟成雨TD1 天前
Micrometer 系列【33】Spring Boot Micrometer Metrics 自动配置模块解析
spring boot·云原生·micrometer
维核科技1 天前
大模型私有化部署:Docker与Kubernetes实战避坑
docker·容器·kubernetes