1. 程式人生 > >k8s出現問題導致cpu使用率過高

k8s出現問題導致cpu使用率過高

今天突然發現k8s的dashboard很卡,進到master節點,用top命令檢視,發現如下資訊:

  • cpu使用率很高,主要是si(軟中斷)佔用了80%
  • iptables命令是佔用cpu最高的

於是用iptables -L命令檢視iptables規則,發現提示另一個app鎖住了iptables。
於是用iptables -L -w命令等待一段時間後,發現瘋狂刷iptables規則,於是得出結論:

  • 有一個程式在一直往iptables裡寫東西

    由於安裝k8s叢集的時候清空了iptables規則,也沒有注意到底哪一步設定了iptables規則,所以毫無頭緒,只好把k8s重新部署一遍(順便升級到1.10.0)

重新部署後發現問題所在:

  • 在node節點部署kubelet時,配置了systemd unit檔案,裡面有新增iptables規則,且設定瞭如果啟動失敗每5秒嘗試重啟一次。
  • 於是當kubelet啟動失敗時,它就重啟一次,然後加幾條iptables規則,於是就一直寫下去
  • 我第一次部署的時候估計在master節點安裝了kubelet,但是啟動沒有成功,當時也沒在意,導致問題出現
  • 重新部署後該問題解決