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

Chr*_*ski 5 kubernetes google-kubernetes-engine

我定义了一个节点池,最小实例数设置为 1,最大实例数设置为 5,并启用了自动缩放。

但它似乎并没有缩小规模。

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

相关节点上运行以下 pod:

  • 流利的
  • kube-dns
  • kube-代理-gke
  • 指标服务器
  • 雷迪斯

kube-system除了在redis守护进程集中定义的 pod之外,上面的所有 pod 都位于命名空间中。

是否需要任何额外的配置?也许是 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>
Run Code Online (Sandbox Code Playgroud)

Ser*_*sev 2

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

您应该根据哪些类型的 pod 可以阻止 CA 删除节点?一一验证您列出的 pod。文档。这应该可以帮助您发现是否有 pod 阻止它。

如果确实是redispod,那么您可以尝试使用 safe to evict 注释:

"cluster-autoscaler.kubernetes.io/safe-to-evict": "true"
Run Code Online (Sandbox Code Playgroud)

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