我在 GKE autopilot 上运行的 Kubernetes 集群有一个不健康的节点。该节点有状态Ready
,但其上运行的所有 Pod 都有CreateContainerError
状态,并且似乎卡在轮询容器映像上。
例子:
(正常拉取 101 秒(x1326 持续 4 小时 49 分钟)kubelet 容器映像“gke.gcr.io/cluster-proportional-autoscaler:v1.8.10-gke.3@sha256:274afbfd520aef0933f1fefabddbb33144700982965f9e3632caabb055e912c6”已存在于机器上)。
由于我的帐户配额不足(显然 1TB 的计算存储对于小型集群来说不够),kubernetes 升级时出了点问题。我获得了更多配额,但自动驾驶仪集群无法自行修复。
我确实“封锁”了该节点以将其标记为不可调度,并从中手动删除了我的 pod。新 pod 被调度到更健康的节点上,所以还不算太糟。
现在我想清理一下。旧的 pod 卡在了Terminating
状态中,但强制删除它们后它们就消失了。
kube-system
我无法在和命名空间上执行相同操作gke-gmp-system
。我看到“托管”Pod 处于CreateContainerError
状态,并且它们正在循环拉取容器映像。其中一个也处于Terminating
状态。
我想删除这个节点,显然你需要耗尽节点并忽略kube-system
命名空间中的错误。我已排干节点但它仍然在那里。
我怎样才能删除不健康的节点?
答案1
新的 kubernetes 版本最终问世,升级集群解决了不健康的节点。
降级和升级集群或许也能起到作用。