k8s節點NotReady問題處理

我把三臺虛擬機重啟,發現2個節點一直處於 NotReady 狀態,便去查找問題,到最後是因為子節點的 kubelet 的狀態異常了,restart 一下就好了,下面轉一下解決的思路


某天晚上,針對 K8S 環境做了一次壓測,50路併發實施,早上起來看監控,發現昨晚8點之後,系統好像都宕掉了,一看 master 節點和一個 node 節點狀態變成了 not ready,主要定位手段如下:

1. 查看 master kubelet 狀態

systemctl status kubelet 狀態正常

2. 查看 master kube-proxy 狀態

systemctl status kube-proxy 狀態正常

3. 查看 master kube-apiserver 狀態

systemctl status kube-apiserver 狀態正常

4. 查看 master kube-scheduler 狀態

systemctl status kube-scheduler 狀態正常

5. 查看 master etcd 狀態

systemctl status etcd 狀態正常

6. 查看 flannel 狀態

在 kubernetes-dashboard 上看到 flannel 掛掉了,查看日誌如下

<code>Failed 

create

pod sandbox: rpc

error

: code =

Unknown

desc

=

failed

to

start

sandbox

container

for

pod

"kube-flannel-ds-amd64-sc7sr"

:

Error

response

from

daemon: OCI runtime

create

failed

: container_linux.go:

348

:

starting

container

process caused

"process_linux.go:301: running exec setns process for init caused "

signal: broken

pipe

\

""

:

unknown

/<code>

而這個問題,通過分析應該是 flannel 在網絡比較大的情況下,內存資源不足了,所以修改 flannel的配置,將內存擴大即可。

<code>

"resources"

: {

"limits"

: {

"cpu"

:

"300m"

,

"memory"

:

"200Mi"

},

"requests"

: {

"cpu"

:

"300m"

,

"memory"

:

"200Mi"

} },/<code>

修改完成之後,需要重啟docker,在刪除原來的 flannel pod,這樣問題就解決拉

出處:http://dwz.date/c4NQ


分享到:


相關文章: