【发布时间】:2020-10-09 13:37:42
【问题描述】:
我将最小副本数设置为 3,最大 10,请求的副本数为 6。当我部署时,replicaSet 看起来不错,并且我有 6 个 pod 按预期运行。
但是,几分钟后,我收到了这条消息-“缩小副本集 my-first-app 为 3”。然后它会终止我的 pod,所以我只剩下 3 个。我该如何阻止它这样做?我想要6个副本。
【问题讨论】:
标签: kubernetes horizontal-pod-autoscaling
我将最小副本数设置为 3,最大 10,请求的副本数为 6。当我部署时,replicaSet 看起来不错,并且我有 6 个 pod 按预期运行。
但是,几分钟后,我收到了这条消息-“缩小副本集 my-first-app 为 3”。然后它会终止我的 pod,所以我只剩下 3 个。我该如何阻止它这样做?我想要6个副本。
【问题讨论】:
标签: kubernetes horizontal-pod-autoscaling
HorizontalPodAutoscaler(我假设您正在谈论,因为ReplicaSet 资源实际上无法水平扩展 Pod)根据配置的指标(例如 CPU 使用率、内存使用率)自动缩减资源.
高级它使用以下算法来确定副本数:
desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]
然后检查desiredReplicas 是否大于所需的最小副本数。
有关详细信息,请参阅docs on the Horizontal Pod Autoscaler。
回答您的问题:如果您始终希望至少有 6 个 Pod,只需确保将 minReplicas 设置为 6,例如:
apiVersion: autoscaling/v1
kind: HorizontalPodAutoscaler
metadata:
name: hpa-example
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: deployment-example
minReplicas: 6
maxReplicas: 10
targetCPUUtilizationPercentage: 70
【讨论】: