Kubernetes集群自动缩放器似乎不适用于GKE?

时间:2018-06-15 09:02:51

标签: kubernetes google-kubernetes-engine

我已经定义了一个节点池,其中min实例设置为1,max实例设置为5,并启用了自动调节。

但它似乎没有缩小。

  • 我已经封锁了一个节点。
  • 已超过12小时
  • 没有待处理的广告
  • 删除节点不会减少我自己部署的副本数量

有问题的节点上运行了以下pod:

  • fluentd
  • KUBE-DNS
  • KUBE代理-GKE
  • 度量服务器
  • redis的

除守护进程中定义的kube-system窗格外,上面的所有窗格都位于redis命名空间中。

是否需要其他配置?也许是一个pod中断预算?

kubectl describe -n kube-system configmap cluster-autoscaler-status的输出:

Name:         cluster-autoscaler-status
Namespace:    kube-system
Labels:       <none>
Annotations:  cluster-autoscaler.kubernetes.io/last-updated=2018-06-15 10:40:16.289611397 +0000 UTC

Data
====
status:
----
Cluster-autoscaler status at 2018-06-15 10:40:16.289611397 +0000 UTC:
Cluster-wide:
  Health:      Healthy (ready=4 unready=0 notStarted=0 longNotStarted=0 registered=4 longUnregistered=0)
               LastProbeTime:      2018-06-15 10:40:14.942263061 +0000 UTC
               LastTransitionTime: 2018-06-15 09:17:56.845900388 +0000 UTC
  ScaleUp:     NoActivity (ready=4 registered=4)
               LastProbeTime:      2018-06-15 10:40:14.942263061 +0000 UTC
               LastTransitionTime: 2018-06-15 09:18:55.777577792 +0000 UTC
  ScaleDown:   NoCandidates (candidates=0)
               LastProbeTime:      2018-06-15 10:40:14.942263061 +0000 UTC
               LastTransitionTime: 2018-06-15 09:39:03.33504599 +0000 UTC

NodeGroups:
  Name:        https://content.googleapis.com/compute/v1/projects/gcpwp-ayurved-subs-staging/zones/europe-west1-b/instanceGroups/gke-wordpress-preempt-nodes-9c33afcb-grp
  Health:      Healthy (ready=3 unready=0 notStarted=0 longNotStarted=0 registered=3 longUnregistered=0 cloudProviderTarget=3 (minSize=2, maxSize=3))
               LastProbeTime:      2018-06-15 10:40:14.942263061 +0000 UTC
               LastTransitionTime: 2018-06-15 09:17:56.845900388 +0000 UTC
  ScaleUp:     NoActivity (ready=3 cloudProviderTarget=3)
               LastProbeTime:      2018-06-15 10:40:14.942263061 +0000 UTC
               LastTransitionTime: 2018-06-15 09:18:55.777577792 +0000 UTC
  ScaleDown:   NoCandidates (candidates=0)
               LastProbeTime:      2018-06-15 10:40:14.942263061 +0000 UTC
               LastTransitionTime: 2018-06-15 09:39:03.33504599 +0000 UTC


Events:  <none>

2 个答案:

答案 0 :(得分:2)

有一些限制可能会阻止节点缩小。

您应该根据What types of pods can prevent CA from removing a node?文档逐一验证您列出的pod。 这应该可以帮助您发现是否有可以防止它的吊舱。

如果它确实是redis pod,那么你可以尝试使用safe来驱逐注释:

"cluster-autoscaler.kubernetes.io/safe-to-evict": "true"

如果它是系统容器之一,我会在其他节点上尝试相同的操作,看看缩小是否适用于它们。 根据{{​​3}},您应该能够将群集缩小到每个群集1个节点或完全针对特定节点池。

答案 1 :(得分:0)

此外,如GKE FAQ中所述,只有在the sum of cpu and memory requests of all pods running on this node is smaller than 50% of the node's allocatable.见到here时,一个节点才会被缩小。