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

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

相关推荐
生活爱好者!2 小时前
我把NAS当作下载机,docker一键部署qb
运维·docker·容器
隔窗听雨眠2 小时前
Spring Boot在云原生时代的编程范式革新研究
spring boot·后端·云原生
Hui Baby3 小时前
K8S使用CRD和控制器简单应用
云原生·容器·kubernetes
阿里云云原生4 小时前
从“告警驱动”到“巡检驱动”:Agent 智能体如何实现前端体验治理的闭环?
云原生
AOwhisky5 小时前
Python 学习笔记(第十三期)——运维自动化(下·前篇):远程命令执行——paramiko基础篇
运维·python·学习·云原生·自动化·运维开发·paramiko
AOwhisky6 小时前
Python 学习笔记(第十四期)——运维自动化(下·中篇):远程文件传输——paramiko进阶篇
运维·python·学习·云原生·自动化·文件传输·paramiko
做个文艺程序员6 小时前
Linux第22篇:用Docker容器化你的Java SaaS应用:一次构建,随处运行
java·docker·容器
Zhu7588 小时前
在k8s环境部署Apache Superset最新版
容器·kubernetes·apache
小的博客8 小时前
windows下安装Docker Desptop
运维·docker·容器
Zhu7589 小时前
在k8s环境部署Apache zookeeper3.9.5,高可用,多pod
容器·kubernetes·apache