您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關Kubernetes集群如何更換節點名稱,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
Kubernetes集群節點會使用/etc/hostname的機器名稱或者DNS,最好在創建集群之前設置妥當域名和機器名。如果在集群設置之后修改節點名稱,將會比較麻煩。尤其是如果需要修改第一個節點的名稱,會出現創建key和token失敗,集群中無法再加入master節點,就需要全部重建集群或者手工修改所有相關的配置文件的參數。
Kubernetes集群更換節點名稱目前沒有簡單的方法,步驟如下:
刪除pod
刪除節點
清理etcd
創建token
重新加入集群
具體操作如下:
對節點執行維護操作之前(例如:內核升級,硬件維護等),您可以使用 kubectl drain
安全驅逐節點上面所有的 pod。安全驅逐的方式將會允許 pod 里面的容器遵循指定的 PodDisruptionBudgets
執行優雅的中止。
首先,需要確定希望移除的節點的名稱。您可以通過下面命令列出集群里面所有的節點:
kubectl get nodes
接下來,告知 Kubernetes 移除節點:
kubectl drain <node name>
執行完成后,如果沒有任何錯誤返回,您可以關閉節點(如果是在云平臺上,可以刪除支持該節點的虛擬機)。如果在維護操作期間想要將節點留在集群,那么您需要運行下面命令:
kubectl uncordon <node name>
然后,它將告知 Kubernetes 允許調度新的 pod 到該節點。
參考:
驅逐節點上的任務pod,https://www.cnblogs.com/weifeng1463/p/10359581.html
??注意:如果未使用drain驅逐所有的待刪除節點上的pod,即使node被刪除,該pod將一直運行到節點服務重啟為止。
刪除該節點:
kubectl delete node podc01
然后問題仍然存在。經查,被刪除節點的etcd服務地址仍然在集群中,而且不可訪問,升級無法完成。
根據網上的kubeadm說明,使用kubeadm reset將會自動刪除etcd的節點信息。
但是,kubeadm reset后,經查,被刪除節點的etcd服務地址仍然在集群中,而且不可訪問,升級無法完成。
查看并手動刪除 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高可用集群升級的etcd錯誤
修改/etc/kubernetes下所有配置文件中的server地址為可用節點地址。
在當前的集群中新增節點:
第一步,重新創建certificate key和token:
sudo kubeadm init phase upload-certs --upload-certs### Got:# [upload-certs] Using certificate key:# 2ffe5bbf7d2e670d5bcfb03dac194e2f21eb9715f2099c5f8574e4ba7679ff78# Add certificate-key for Multi Master Node.kubeadm token create --print-join-command --certificate-key 2ffe5bbf7d2e670d5bcfb03dac194e2f21eb9715f2099c5f8574e4ba7679ff78
增加Worker節點:
kubeadm join 192.168.199.173:6443 --token rlxvkn.2ine1loolri50tzt --discovery-token-ca-cert-hash sha256:86e68de8febb844ab8f015f6af4526d78a980d9cdcf7863eebb05b17c24b9383
增加master節點:
kubeadm join 192.168.199.173:6443 --token rlxvkn.2ine1loolri50tzt --discovery-token-ca-cert-hash sha256:86e68de8febb844ab8f015f6af4526d78a980d9cdcf7863eebb05b17c24b9383 --control-plane --certificate-key 440a880086e7e9cbbcebbd7924e6a9562d77ee8de7e0ec63511436f2467f7dde
查看新的節點列表:
kubectl get node -o wide
如果服務沒有起來,測試一下:
查看服務版本,kubectl version
查看集群信息,kubectl cluster-info
查看服務狀態,sudo systemctl status kubelet
查看服務日志,journalctl -xefu kubelet
以上就是Kubernetes集群如何更換節點名稱,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。