Statefulset

一个 Statefulset 创建的每个pod都有一个从零开始的顺序索引,这个会体现在 pod 的名称和主机名上,同样还会体现在 pod 对应的固定存储上。这些 pod 的名称是可预知的,它是由 Statefulset 的名称加该实例的顺序索引值组成的。不同于pod随机生成一个名称,这样有规则的pod名称是很方便管理的。

在这里插入图片描述
一个 Statefulset 通常要求创建一个用来记录每个 pod 网络标记的 headlessService。通过这个 Service,每个 pod 将拥有独立的 DNS 记录, 这样集群可以通过主机名方便地找到它。

比如在一个属于 default 命名空间,名为 foo 的控制服务,它的一个 pod 名称为 A-0,那么可以通过下面的完整域名来访问它:a-0.foo.default.svc.cluster.local。而在 ReplicaSet 中这样是行不通的。

也可以通过 DNS 服务,查找域名foo.default.svc.cluster.local对应的所有 SRV 记录,获取一个 Statefulset 中所有 pod 的名称。

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐