我是Kubernetes的新手,我想知道是否可以一次启动一个容器副本?换句话说,如果我部署了一个包含N个副本的容器或Pod配置的撰写文件,是否有可能(如果可以的话)确保每个副本在启动前都等待上一个副本准备就绪?
我阅读了有关就绪探针的信息,但是如果我对它们有正确的理解,它们将确保容器顺序而不是副本的顺序,还是我误解了?
谢谢
答案 0 :(得分:2)
A StatefulSet has this property:给定三个副本,直到第一个副本运行并准备就绪,第二个副本才会启动。
(通常,“ replica”和“ pod”含义相同。如果您创建带有3个副本的Deployment或StatefulSet,并在完成后运行kubectl get pods
,则应该看到3个容器。)
如果您使用Kompose进行部署,则至少有a hint that it doesn't support StatefulSets;您需要为此编写原生的Kubernetes YAML。
答案 1 :(得分:0)
Kubernetes具有StatefulSet对象,用于管理Pod的一组副本。 StatefulSet与默认Deployment的不同之处在于,它为这些Pod的顺序和唯一性提供了保证。来自the documentation:
对于具有N个副本的StatefulSet,在部署Pod时,将按{0..N-1}的顺序顺序创建它们。
例如,see this blog关于如何为ElasticSearch设置StatefulSet。