博客 / 詳情

返回

解決:k3s核心組件全部啓動失敗

現象:k3s核心組件狀態均為CrashLoopBackOff

原因分析: 網絡問題,容器網絡重建失敗或 iptables 丟失,無法訪問API-server

產生原因:虛擬機掛起,重新打開會對網絡產生一定的影響

#k3s日誌報錯:
failed to "StartContainer" for "coredns" with CrashLoopBackOff
...
unable to retrieve complete list of server APIs: metrics.k8s.io/v1beta1: stale GroupVersion discovery

#pod日誌報錯
failed to create client: error while trying to communicate with apiserver: 
Get "https://10.43.0.1:443/version": dial tcp 10.43.0.1:443: connect: no route to host

解決辦法:清空丟失或衝突的網絡規則 → 重啓服務讓它自動正確寫回規則

#先停止docker和k3s服務
systemctl stop docker
systemctl stop k3s.service

#清除網絡規則
iptables --flush        #清空默認的filter表中的所有規則
iptables -t nat --flush #情況nat表中的所有規則;-t及table,flush—沖洗

原理:

iptables工作在內核netfilter模塊上,維護幾個表(table):

filter表,默認表,執行過濾,控制是否放行

net表,處理端口轉發,進行地址轉化

每張表中有很多鏈,鏈由多條規則組成

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.