rj9*_*j93 4 autoscaling google-compute-engine google-cloud-platform kubernetes google-kubernetes-engine
我有一个启用了自动扩展的 GKE 集群和一个单节点池。此节点池最少有 1 个节点,最多有 5 个节点。当我测试此集群的自动扩展时,当我向部署中添加更多副本时,它已正确扩展(添加了新节点)。当我删除部署时,我预计它会缩小规模,但查看日志它失败了,因为它无法从节点中逐出 kube-dns 部署:
reason: {
messageId: "no.scale.down.node.pod.kube.system.unmovable"
parameters: [
0: "kube-dns-7c976ddbdb-brpfq"
]
}
Run Code Online (Sandbox Code Playgroud)
kube-dns 没有作为守护进程运行,但我对此没有任何控制权,因为这是一个托管集群。
我正在使用 Kubernetes 1.16.13-gke.1。
如何缩小集群节点池规模?
Fél*_*net 10
自动缩放器不会从 kube-system 命名空间中驱逐 pod,除非它们是守护进程集或者具有 PodDisruptionBudget。
对于 kube-dns、kube-dns-autoscaler 以及 kube-dns 中的其他一些 GKE 托管部署,您需要添加 poddisruptionbudget。
例如:
apiVersion: policy/v1beta1
kind: PodDisruptionBudget
metadata:
annotations:
labels:
k8s-app: kube-dns
name: kube-dns-bbc
namespace: kube-system
spec:
maxUnavailable: 1
selector:
matchLabels:
k8s-app: kube-dns
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4411 次 |
| 最近记录: |