【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名称。

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

相关推荐
AI精钢18 小时前
AI Agent 从上线到删库跑路始末
网络·人工智能·云原生·aigc
AI攻城狮20 小时前
RAG 的 Chunking 有什么好方案?从原理到实战选型
云原生
AI攻城狮1 天前
如何提高 RAG 的检索质量?这才是真正的瓶颈所在
云原生
AI攻城狮1 天前
DeepSeek KV Cache 入门解读:98% 命中率背后的工程逻辑
云原生
weixin_377634841 天前
【MinerU】 Docker Compose 使用
docker·容器·mineru
菜鸟的日志1 天前
【软件架构风格】面向服务架构(SOA)及其微服务演进
微服务·云原生·架构
PH = 71 天前
K8S集群的搭建
云原生·容器·kubernetes
CS创新实验室1 天前
CS实验室行业报告:云计算与云原生行业分析报告
云原生·云计算
AI攻城狮1 天前
如何维护公司级别的 CLAUDE.md 文件?
云原生
ErizJ1 天前
Kubernetes|学习笔记
笔记·学习·kubernetes