首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Kubernetes部署单个更新时所有工作负载都会失败

Kubernetes部署单个更新时所有工作负载都会失败
EN

Stack Overflow用户
提问于 2020-12-16 03:28:17
回答 1查看 56关注 0票数 1

在我更新了后端代码(按下update to gcr.io)之后,我删除了pod。通常会出现一个新的pod。

但在今天之后,整个集群就会崩溃。我真的不能理解这里发生了什么(我没有碰任何其他的东西)。

我真的是在黑暗中寻找。我该从哪里开始找呢?

我看到日志显示:

代码语言:javascript
复制
0/2 nodes are available: 2 node(s) had taints that the pod didn't tolerate.

当我查这个的时候:

代码语言:javascript
复制
kubectl describe node | grep -i taint
Taints:             node.kubernetes.io/unreachable:NoSchedule
Taints:             node.kubernetes.io/unreachable:NoSchedule

但我不知道这是什么,也不知道他们是怎么做到的。

编辑:

看起来我需要删除污点,但我不能(污点没有找到?)

代码语言:javascript
复制
kubectl taint nodes --all node-role.kubernetes.io/unreachable-
taint "node-role.kubernetes.io/unreachable" not found
taint "node-role.kubernetes.io/unreachable" not found

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-16 04:51:12

可能是节点有问题。使用其中的一些(示例)进行调试:

代码语言:javascript
复制
$ kubectl get nodes
NAME         STATUS     ROLES    AGE   VERSION
k8s-master   Ready      master    1d    v1.14.2
k8s-node1    NotReady   <none>    1d    v1.14.2
k8s-node2    NotReady   <none>    1d    v1.14.2 <-- Does it say NotReady?
代码语言:javascript
复制
$ kubectl describe node k8s-node1
...
 # Do you see something like this? What's the event message?
 MemoryPressure...
 DiskPressure...
 PIDPressure...

检查kubelet是否在每个节点上运行(它可能会崩溃并重新启动)

代码语言:javascript
复制
ssh k8s-node1
# ps -Af | grep kubelet
# systemctl status kubelet
# journalctl -xeu kubelet

核选项:

如果您使用的是node pool,请删除您的节点,并让自动缩放器重新启动全新的节点。

Related question/answer

✌️

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65312457

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档