【问题标题】:How many pods can be configured per deployment in kubernetes?Kubernetes 中每个部署可以配置多少个 pod?
【发布时间】:2019-12-22 17:30:54
【问题描述】:

根据 Kubernetes 文档,Deployment 和 ReplicaSet 之间存在 1:1 对应关系。类似地,根据副本属性,一个 ReplicaSet 可以管理 n 个相同性质的 pod。这是正确的理解吗?

逻辑上(假设 Deployment 是一个包装器/控制器)我觉得 Deployment 可以有多个副本集,每个副本集可以有多个 Pod(相同或不同类型)。如果这个陈述是正确的,有人可以分享一个示例 K8S 模板吗?

【问题讨论】:

    标签: kubernetes containers replicaset kubernetes-pod


    【解决方案1】:

    1.) 是的,Deployment 是一个 ReplicaSet,在更高级别进行管理。

    2.) 不,一个 Deployment 不能有多个 ReplicaSet,一个 Deployment 几乎就是一个 ReplicaSet。通常,您从不直接使用 ReplicaSet,您只需要部署即可。不,你不能在一个 Deployment 或 ReplicaSet 中有不同的 Pod 模板。复制的目的是创建相同事物的副本。

    至于每个部署可以运行多少个 pod,除非指定,否则限制实际上并不是每个部署。通常,您要么在 Deployment 中设置所需的副本数量,要么使用具有最小和最大 Pod 数量的 Horizo​​ntal Pod Autoscaler。除非节点限制更小,否则以下限制适用:

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

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

    【讨论】:

      【解决方案2】:

      根据 Kubernetes 文档,Deployment 和 ReplicaSet 之间存在 1:1 对应关系。类似地,根据副本属性,一个 ReplicaSet 可以管理 n 个相同性质的 pod。这是正确的理解吗?

      是的。它将创建不等于 replicas 字段值的 pod。 部署管理一个副本集,你不/不应该直接与副本集交互。

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

      当您进行滚动部署时,它会使用新的 pod(更新的容器)创建一个新的 ReplicaSet,并缩减在旧副本集中运行的 pod。
      我猜它不支持使用不同的 pod/containers 运行两个不同的 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)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-06-28
        • 1970-01-01
        • 2019-02-13
        • 1970-01-01
        • 1970-01-01
        • 2019-04-14
        • 2020-07-20
        • 1970-01-01
        相关资源
        最近更新 更多