kubernetes中每个部署可以配置多少个Pod?

时间:2019-08-16 11:25:25

标签: kubernetes containers replicaset kubernetes-pod

根据Kubernetes文档,Deployment和ReplicaSets之间存在1:1对应。同样,根据副本属性,副本集可以管理n个相同性质的容器。这是正确的理解吗?

从逻辑上讲(假设Deployment是包装器/控制器),我觉得Deployment可以有多个复制集,而每个copyingSet可以有多个Pod(相同或不同种类)。如果这一说法正确,那么有人可以分享一个示例K8S模板吗?

2 个答案:

答案 0 :(得分:2)

1。)是的,部署是一个副本集,在更高级别进行管理。

2。)不,一个部署不能有多个副本集,一个部署几乎就是一个副本集。通常,您永远不会直接使用ReplicaSet,只需部署。不,您不能在一个Deployment或ReplicaSet中拥有不同的Pod模板。复制的重点是创建同一事物的副本。

关于每个Deployment可以运行多少个Pod,除非指定,限制实际上并不是每个Deployment的。通常,您可以在“展开”中设置所需的副本数,也可以使用带有最小和最大数量的Pod的“水平Pod自动缩放器”。并且除非节点限制较小,否则以下限制适用:

  • 每个节点不超过100个吊舱
  • 吊舱总数不超过150000

https://kubernetes.io/docs/setup/best-practices/cluster-large/

答案 1 :(得分:1)

  
    

根据Kubernetes文档,Deployment和ReplicaSets之间存在1:1对应。同样,根据副本属性,副本集可以管理n个相同性质的容器。这是正确的理解吗?

  

是的。它将不会创建与replicas字段值相等的值的Pod。 部署管理副本集,您不/不应该直接与副本集进行交互。

  
    

从逻辑上讲(假设Deployment是包装器/控制器),我觉得Deployment可以有多个复制集,而每个copyingSet可以有多个Pod(相同或不同种类)。如果这一说法正确,那么有人可以分享一个示例K8S模板吗?

  

进行滚动部署时,它将使用新的Pod(更新的容器)创建一个新的ReplicaSet,并按比例缩小在较旧的副本集中运行的Pod。
我猜它不支持使用不同的容器/容器运行两个不同的ReplicaSet(不是部署更新)。

https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#updating-a-deployment

更新部署后:
运行:

kubectl describe deployments

输出:

.
.
.
OldReplicaSets:  <none>
NewReplicaSet:   nginx-deployment-1564180365 (3/3 replicas created)