Kubernetes(K8S) Node NotReady 节点资源不足 Pod无法运行

打印 上一主题 下一主题

主题 623|帖子 623|积分 1869

k8s 线上集群中 Node 节点状态变成 NotReady 状态,导致整个 Node 节点中容器停止服务。

一个 Node 节点中是可以运行多个 Pod 容器,每个 Pod 容器可以运行多个实例 App 容器。Node 节点不可用,就会直接导致 Node 节点中所有的容器不可用,Node 节点是否健康,直接影响该节点下所有的实例容器的健康状态,直至影响整个 K8S 集群
  1. # 查看节点状态
  2. [root@k8smaster ~]# kubectl get nodes
  3. NAME        STATUS     ROLES    AGE   VERSION
  4. k8smaster   Ready      master   33d   v1.18.19
  5. k8snode1    NotReady   <none>   33d   v1.18.19
  6. k8snode2    Ready      <none>   33d   v1.18.19
  7. # 查看节点日志
  8. [root@k8smaster ~]# kubectl describe nodes k8snode1
  9. Allocated resources:
  10.   (Total limits may be over 100 percent, i.e., overcommitted.)
  11.   Resource           Requests      Limits
  12.   --------           --------      ------
  13.   cpu                1 (50%)       7100m (355%)
  14.   memory             7378Mi (95%)  14556Mi (188%)
  15.   ephemeral-storage  0 (0%)        0 (0%)
  16.   hugepages-2Mi      0 (0%)        0 (0%)
  17. Events:
  18.   Type     Reason                   Age                   From     Message
  19.   ----     ------                   ----                  ----     -------
  20.   Warning  SystemOOM                30m                   kubelet  System OOM encountered, victim process: java, pid: 29417
  21.   Warning  SystemOOM                30m                   kubelet  System OOM encountered, victim process: java, pid: 29418
  22.   Warning  SystemOOM                30m                   kubelet  System OOM encountered, victim process: java, pid: 29430
  23.   Warning  SystemOOM                30m                   kubelet  System OOM encountered, victim process: erl_child_setup, pid: 26391
  24.   Warning  SystemOOM                30m                   kubelet  System OOM encountered, victim process: beam.smp, pid: 26134
  25.   Warning  SystemOOM                30m                   kubelet  System OOM encountered, victim process: 1_scheduler, pid: 26392
  26.   Warning  SystemOOM                29m                   kubelet  System OOM encountered, victim process: java, pid: 28855
  27.   Warning  SystemOOM                29m                   kubelet  System OOM encountered, victim process: java, pid: 28637
  28.   Warning  SystemOOM                28m                   kubelet  System OOM encountered, victim process: java, pid: 29348
  29.   Normal   NodeHasSufficientMemory  24m (x5 over 3h11m)   kubelet  Node k8snode1 status is now: NodeHasSufficientMemory
  30.   Normal   NodeHasSufficientPID     24m (x5 over 3h11m)   kubelet  Node k8snode1 status is now: NodeHasSufficientPID
  31.   Normal   NodeHasNoDiskPressure    24m (x5 over 3h11m)   kubelet  Node k8snode1 status is now: NodeHasNoDiskPressure
  32.   Warning  SystemOOM                9m57s (x26 over 28m)  kubelet  (combined from similar events): System OOM encountered, victim process: java, pid: 30289
  33.   Normal   NodeReady                5m38s (x9 over 30m)   kubelet  Node k8snode1 status is now: NodeReady
  34. # 查看 pod 分在哪些节点上,发现 都在node1 上,【这是问题所在】
  35. [root@k8smaster ~]# kubectl get pod,svc -n thothehp-test -o wide
  36. NAME                          READY   STATUS    RESTARTS   AGE     IP            NODE       NOMINATED NODE   READINESS GATES
  37. pod/basic-67ffd66f55-zjrx5     1/1     Running   13         45h     10.244.1.89   k8snode1   <none>           <none>
  38. pod/c-api-69c786b7d7-m5brp   1/1     Running   11         3h53m   10.244.1.78   k8snode1   <none>           <none>
  39. pod/d-api-6f8948ccd7-7p6pb    1/1     Running   12         139m    10.244.1.82   k8snode1   <none>           <none>
  40. pod/gateway-5c84bc8775-pk86m   1/1     Running   7          25h     10.244.1.84   k8snode1   <none>           <none>
  41. pod/im-5fc6c47d75-dl9g4        1/1     Running   8          83m     10.244.1.86   k8snode1   <none>           <none>
  42. pod/medical-5f55855785-qr7r5   1/1     Running   12         83m     10.244.1.90   k8snode1   <none>           <none>
  43. pod/pay-5d98658dbc-ww4sg       1/1     Running   11         83m     10.244.1.88   k8snode1   <none>           <none>
  44. pod/elasticsearch-0            1/1     Running   0          80m     10.244.2.66   k8snode2   <none>           <none>
  45. pod/emqtt-54b6f4497c-s44jz     1/1     Running   5          83m     10.244.1.83   k8snode1   <none>           <none>
  46. pod/nacos-0                    1/1     Running   0          80m     10.244.2.67   k8snode2   <none>           <none>
  47. NAME                            TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)                 AGE     SELECTOR
  48. service/nacos-headless          ClusterIP   None             <none>        8848/TCP,7848/TCP       45h     app=nacos
  49. service/service-basic           ClusterIP   None             <none>        80/TCP                  45h     app=ehp-basic
  50. service/service-c-api           ClusterIP   None             <none>        80/TCP                  3h53m   app=ehp-cms-api
  51. service/service-d-api           ClusterIP   None             <none>        80/TCP                  139m    app=ehp-ds-api
  52. service/service-gateway         NodePort    10.101.194.234   <none>        80:30180/TCP            25h     app=ehp-gateway
  53. service/service-im              ClusterIP   None             <none>        80/TCP                  129m    app=ehp-im
  54. service/service-medical         ClusterIP   None             <none>        80/TCP                  111m    app=ehp-medical
  55. service/service-pay             ClusterIP   10.111.162.80    <none>        80/TCP                  93m     app=ehp-pay
  56. service/service-elasticsearch   ClusterIP   10.111.74.111    <none>        9200/TCP,9300/TCP       2d3h    app=elasticsearch
  57. service/service-emqtt           NodePort    10.106.201.96    <none>        61613:31616/TCP,8083:30804/TCP    2d5h  app=emqtt
  58. service/service-nacos           NodePort    10.106.166.59    <none>        8848:30848/TCP,7848:31176/TCP     45h   app=nacos
  59. [root@k8smaster ~]#
复制代码
加大内存,重启
  1. # 需要重启docker
  2. [root@k8snode1 ~]# systemctl restart docker
  3. # 需要重启kubelet
  4. [root@k8snode1 ~]# sudo systemctl restart kubelet
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

张国伟

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表