我有一个启用了自动伸缩的GKE集群和一个单节点池。此节点池最少有1个节点,最多有5个节点。当我测试此群集的自动扩展时,当我向部署中添加更多副本时,它已正确扩展(添加了一个新节点)。当我删除我的部署时,我希望它可以缩小规模,但查看日志,它失败了,因为它无法从节点中驱逐kube-dns部署:
reason: {
messageId: "no.scale.down.node.pod.kube.system.unmovable"
parameters: [
0: "kube-dns-7c976ddbdb-brpfq"
]
}kube-dns不是作为守护进程运行的,但我对此没有任何控制,因为这是一个托管集群。
我使用的是Kubernetes 1.16.13-gke.1。
如何缩小集群节点池?
发布于 2020-09-07 22:24:19
发布于 2020-09-21 22:45:55
自动缩放器不会从kube-system名称空间中逐出pod,除非它们是守护进程或具有PodDisruptionBudget。
对于kube-dns,以及kube-dns-autoscaler,以及kube-dns中的其他一些GKE托管部署,您需要添加add中断预算。
例如:
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-dnshttps://stackoverflow.com/questions/63751840
复制相似问题