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

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

相关推荐
wu85877345721 小时前
OpenResty 源站被扫描的排查与防御实战:Cloudflare + DOCKER-USER + Fail2Ban 最全方案解析
docker·容器·openresty
微步_ym1 天前
Docker:在Mac的docker.desktop中安装mongo
macos·docker·容器
IT策士1 天前
第48篇 k8s之常见问题排查与排错指南
云原生·容器·kubernetes
IT策士1 天前
第 46 篇 k8s之CI/CD 集成:GitOps 理念与 ArgoCD
前端·容器·kubernetes
豆瓣鸡1 天前
Docker快速入门
运维·docker·容器
VX_181 天前
Docker镜像直接部署JumpServer
运维·docker·容器
努力搬砖的咸鱼1 天前
容器编排底层原理:Kubernetes 网络模型与 CNI 插件
网络·微服务·云原生·容器·架构·kubernetes
Plastic garden1 天前
K8s介绍(2)POD架构
云原生·容器·kubernetes
江湖有缘1 天前
Docker部署Beaver Habit Tracker习惯追踪应用
运维·docker·容器
步步为营DotNet1 天前
.NET Aspire 在云原生微服务架构中的深度实践与剖析
云原生·架构·.net