【问题标题】:Create new pod when old pod dies or crossed threshold当旧 pod 死亡或超过阈值时创建新 pod
【发布时间】:2021-04-17 01:52:20
【问题描述】:

我是 Kubernetes 的新手,我正在对这些 pod 做一些解决方法。 我有 3 个 pod 在 3 个不同的节点上运行。其中一个 Pod 应用程序的使用量超过 90+,我想为此创建一个健康检查。 有什么方法可以在 Kubernetes 中创建健康检查吗? 如果我提到 80 CPU 的限制,Kubernetes 是否会创建新的 pod?

【问题讨论】:

    标签: linux kubernetes google-kubernetes-engine load-balancing azure-aks


    【解决方案1】:

    您需要 Horizontal Pod Autoscaler 来扩展 pod。有一个简单的guide 将引导您完成创建一个。以下是上述指南中的资源示例:

    apiVersion: autoscaling/v2beta2
    kind: HorizontalPodAutoscaler
    metadata:
      name: php-apache
    spec:
      scaleTargetRef:
        apiVersion: apps/v1
        kind: Deployment
        name: php-apache
      minReplicas: 1
      maxReplicas: 10
      metrics:
      - type: Resource
        resource:
          name: cpu
          target:
            type: Utilization
            averageUtilization: 50
    

    【讨论】:

      【解决方案2】:

      正如在下面的答案中提到的,您应该为该部署对象创建一个水平自动缩放器组件,kubernetes 指标服务器将持续监视每个 POD 的 CPU 利用率,并且一旦使用率超过阈值,即“averageUtilization: 50"(如下所述),那么一旦现有 pod 达到提供给它的 CPU 的 50%,就会生成一个新 pod。

      这与运行状况检查不同,因为 pod 的运行状况决定是否在其上发送流量,即通过 liveness 和 readiness 探测。

      确保在您创建的部署文件中提及 POD 的资源和限制,以便 HPA 可以获取 CPU 的参考值,用于计算利用率百分比。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-02-08
        • 2018-03-04
        • 2018-12-07
        • 2022-10-11
        • 2018-05-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多