HorizontalPodAutoscaler 和 GKE Cluster Autoscaler 的区别
Difference between HorizontalPodAutoscaler and GKE Cluster Autoscaler
我可以通过 Cluster Autoscaler 自动配置节点以响应增加的负载,我可以创建一个集群:
gcloud container clusters create example-cluster \
--num-nodes 1 \
--zone us-central1-a \
--node-locations us-central1-a,us-central1-b,us-central1-f \
--enable-autoscaling --min-nodes 1 --max-nodes 4
Or via Horizontal Pod Autoscaling,我可以将其应用于现有集群:
kubectl autoscale deployment <deployment-name> --min=1 --max=4
Cluster Autoscaler 和 Horizontal Pod Autoscaling 之间有什么区别?它们似乎是实现同一目标的替代方法(让基础架构动态调整以响应更大的资源需求)。例如,两者都允许指定最小和最大节点数。然而,每一个的文档都没有提到另一个。
Horizontal Pod autoscaler:允许更新目标部署的副本数。基于您指定的指标(例如:CPU...)。这只会影响 pods 的数量(不影响节点的数量)。
Cluster autoscaler:如果 pods 由于缺少资源而无法调度(例如:CPU,则允许将新节点添加到节点池中记忆...)。这只会影响节点的数量(而不是 pods 的数量)。
(注意可以同时使用)
我可以通过 Cluster Autoscaler 自动配置节点以响应增加的负载,我可以创建一个集群:
gcloud container clusters create example-cluster \
--num-nodes 1 \
--zone us-central1-a \
--node-locations us-central1-a,us-central1-b,us-central1-f \
--enable-autoscaling --min-nodes 1 --max-nodes 4
Or via Horizontal Pod Autoscaling,我可以将其应用于现有集群:
kubectl autoscale deployment <deployment-name> --min=1 --max=4
Cluster Autoscaler 和 Horizontal Pod Autoscaling 之间有什么区别?它们似乎是实现同一目标的替代方法(让基础架构动态调整以响应更大的资源需求)。例如,两者都允许指定最小和最大节点数。然而,每一个的文档都没有提到另一个。
Horizontal Pod autoscaler:允许更新目标部署的副本数。基于您指定的指标(例如:CPU...)。这只会影响 pods 的数量(不影响节点的数量)。
Cluster autoscaler:如果 pods 由于缺少资源而无法调度(例如:CPU,则允许将新节点添加到节点池中记忆...)。这只会影响节点的数量(而不是 pods 的数量)。
(注意可以同时使用)