在CentOS上部署Kubernetes(K8S)時,可能會遇到多種常見問題。以下是一些常見問題及其解決方案:
-
系統錯誤:未知的標志:–etcd-quorum-read
- 問題描述:在刪除service時出現該錯誤,可能是由于之前的進程占用。
- 解決方案:查看是否有進程占用,手動啟動service,查看是否成功。
-
健康檢查失敗
- 問題描述:例如,peer acd2ba924953b1ec無法連接到192.168.81.60:2380,原因是etcd1的配置文件中etcd_initial_cluster_state為new,而etcd_initial_cluster寫入了etcd2/3的ip:port,etcd2/3未啟動。
- 解決方案:先啟動etcd2和3的etcd服務,再啟動etcd1。
-
連接被拒絕
- 問題描述:例如,dial tcp 127.0.0.1:2379: getsockopt: connection refused。
- 解決方案:在etcd配置文件/etc/etcd/etcd.conf的etcd_listen_client_urls選項中加入
https://127.0.0.1:2379
。
-
kubelet無法啟動
- 問題描述:例如,啟動kubelet時提示no such file or directory或misconfiguration。
- 解決方案:創建目錄/var/lib/kubelet,修改/usr/lib/systemd/system/docker.service的execstart配置。
-
證書問題
- 問題描述:例如,連接被拒絕,提示x509: certificate signed by unknown authority。
- 解決方案:重新初始化環境,清理干凈文件,重新執行初始化命令。
-
網絡問題
- 問題描述:例如,pods大量異常,日志顯示dns解析失敗或節點間網絡連接失敗。
- 解決方案:測試節點互ping,使用http請求訪問coredns metrics接口,確認網絡狀態。
-
CPU軟鎖死
- 問題描述:例如,系統無法登錄,K8S集群負載飆升。
- 解決方案:強制重啟服務器,調整內核參數,如修改/proc/sys/kernel/watchdog_thresh。
-
服務訪問失敗
- 問題描述:例如,curl命令顯示peer’s certificate issuer is not recognized。
- 解決方案:更新證書或檢查證書是否過期。
-
鏡像拉取失敗
- 問題描述:例如,readiness-httpget-pod狀態為ErrImagePull。
- 解決方案:更換鏡像。
-
init容器狀態不正常
- 問題描述:例如,pod創建失敗,init容器未執行完畢。
- 解決方案:創建相關service,確保域名解析正常。
這些常見問題及其解決方案可以幫助你在CentOS上成功部署和運行Kubernetes集群。