我将最小副本数设置为 3,最大 10,请求的副本数为 6。当我部署时,replicaSet 看起来不错,并且我有 6 个 pod 按预期运行。
然而,几分钟后我收到了这条消息——“Scaled down replica set my-first-app to 3”。然后它会终止我的 pod,所以我只剩下 3 个。我该如何阻止它这样做?我想要6个副本。
我将最小副本数设置为 3,最大 10,请求的副本数为 6。当我部署时,replicaSet 看起来不错,并且我有 6 个 pod 按预期运行。
然而,几分钟后我收到了这条消息——“Scaled down replica set my-first-app to 3”。然后它会终止我的 pod,所以我只剩下 3 个。我该如何阻止它这样做?我想要6个副本。
(HorizontalPodAutoscaler
我假设您正在谈论,因为ReplicaSet
资源实际上无法水平扩展 Pod)会根据配置的指标(例如 CPU 使用率、内存使用率)自动缩减资源。
高级它使用以下算法来确定副本的数量:
desiredReplicas = ceil[currentReplicas * ( currentMetricValue / desiredMetricValue )]
然后它检查是否desiredReplicas
大于所需的最小副本数。
有关更多详细信息,请参阅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