共計 1375 個字符,預計需要花費 4 分鐘才能閱讀完成。
這篇文章主要介紹“kubernetes 高可用集群升級的 etcd 錯誤怎么解決”,在日常操作中,相信很多人在 kubernetes 高可用集群升級的 etcd 錯誤怎么解決問題上存在疑惑,丸趣 TV 小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”kubernetes 高可用集群升級的 etcd 錯誤怎么解決”的疑惑有所幫助!接下來,請跟著丸趣 TV 小編一起來學習吧!
使用 kubeadm 創建的 kubernetes 高可用集群升級時出現 etcd 訪問錯誤,手工刪除 etcd 中的錯誤節點信息后升級成功。
正常情況 kubernetes 升級使用下面的命令來完成:
sudo kubeadm upgrade plan
然后按照提示操作即可。
1、出現 etcd 訪問錯誤
但這一次,出線了錯誤:
etcd.go:480] Failed to get etcd status
經檢查,是 etcd 的第一個節點(kubenetes 的 master 之一)無法訪問。
2、從集群刪除節點
刪除該節點:
kubectl delete node podc01
然后問題仍然存在。經查,被刪除節點的 etcd 服務地址仍然在集群中,而且不可訪問,升級無法完成。
根據網上的 kubeadm 說明,使用 kubeadm reset 將會自動刪除 etcd 的節點信息。
但是,kubeadm reset 后,經查,被刪除節點的 etcd 服務地址仍然在集群中,而且不可訪問,升級無法完成。
3、手動刪除 etcd node
查看并手動刪除 etcd node 信息:
alias etcdv3= ETCDCTL_API=3 etcdctl --endpoints=https://[10.1.1.202]:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/peer.crt --key=/etc/kubernetes/pki/etcd/peer.key
因為 etcd 的命令較長,先用個別名簡化一下。
將上面的 10.1.1.202 改為自己的可用 master 節點 IP 地址。
更多 etcd 使用指南,可參考:
Kubernetes 的 etcd 多節點擴容實戰技巧
Kubernetes 探秘 -etcd 節點和實例擴容
Kubernetes 的 etcd 數據查看和遷移
Kubernetes 探秘—etcd 狀態數據及其備份
然后,運行:
# 查看 etcd 集群的成員:etcdv3 member list
#刪除 etcd 集群的不可訪問的成員:etcdv3 member remove XXXXXXXXXX
#再次查看 etcd 集群的成員:etcdv3 member list
然后,再來運行 Kubernetes 升級命令:
# 檢查升級狀態。sudo kubeadm upgrade plan
#直接升級到 Kubernetes 1.18.1 版本。#!可能需要將鏡像預先部署到所有節點上。sudo kubeadm upgrade apply v1.18.2
升級成功。
到此,關于“kubernetes 高可用集群升級的 etcd 錯誤怎么解決”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注丸趣 TV 網站,丸趣 TV 小編會繼續努力為大家帶來更多實用的文章!