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

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

相关推荐
SelectDB1 小时前
Doris 异步物化视图实战:与 Snowflake MV / Dynamic Tables 分层建模对照
大数据·数据库·云原生
阿里云云原生3 小时前
从长程 Agent 到 Super-agent,解锁更多场景
云原生
Blockbuater_drug5 小时前
Dify 1.18 本地部署实战:Windows + WSL2 + Docker,从零跑到本地可用
windows·docker·容器·dify·大模型应用平台
shangjian0075 小时前
K8S学习-基础组件
学习·容器·kubernetes
徐小黑ACG6 小时前
docker 基础教程
运维·docker·容器
水无痕simon7 小时前
4、Eureka服务端安装
云原生·eureka
时间售卖铺8 小时前
Docker镜像构建全解析:从原理到实战优化
运维·docker·云原生·容器
wzq11_6669 小时前
Kubernetes集群——工作负载
云原生·容器·kubernetes
lwx9148521 天前
Docker-安装SSH服务
docker·容器·ssh
艾伦_耶格宇1 天前
【kubernetes - 1.28版本】-11 K8S核心组件
java·容器·kubernetes