關於使用rancher部署k8s集群的一些小問題的解決


問題一:

  在rancher的ui上,不能創建k8s的master節點的高可用集群。創建k8s集群,添加節點的時候,可以添加多個master,但是多個master又沒有高可用,只要其中一個出問題了,那么整個集群就垮了。本想着自己來改配置,但是集群是使用docker啟動組件,配置復雜繁瑣,不太懂rancher組織集群的原理,個人能力有限等原因,只好找尋其他解決方案。

  解決方法:在多個master情況下,其中一個master節點出毛病了,只需要在rancherUI上刪掉這個節點就行了(以前不太了解,master出問題了,不敢刪),rancher會自動update這個集群,使之master正常。目前只知道這個方法,由於這樣業務中斷耗時會比高可用多一點點,所以要做好主機監控。

 

問題二:

  使用rancher添加master節點時,選擇了全部角色(不完美的操作,如果master節點資源豐富就可以完全忽略這個問題了)。master是集群里重要的一個角色,如果一個master既做管理節點,又做業務節點,會對節點主機資源占用過多,而容易導致master節點出問題的幾率增大。讓master節點只做管理任務,要么取消它的worker角色,要么就禁止pod等資源進入到這個節點。

  rancher上可以編輯集群中的節點,然而,只能更新這個節點的標簽,即使刪掉worker這個標簽,也無法去掉master節點的worker角色。

  解決方法:這種情況就不在rancher操作了,在k8s上有兩個維護命令cordon、uncordon,是設置節點不可調度和取消節點不可調度,一般是用於節點出現問題時維護使用的。

kubectl cordon master1
kubectl uncordon master1

  設置不可調度后,k8s的pod都將不會再調度到此節點上。

 

問題三:

  清除節點服務器:

df -h | grep kubelet | awk -F % '{print $2}' | xargs umount
rm /var/lib/kubelet/* -rf
rm /etc/kubernetes/* -rf
rm /etc/cni/* -rf
rm /var/lib/rancher/* -rf
rm /var/lib/etcd/* -rf
rm /var/lib/cni/* -rf
rm /opt/cni/* -rf 
(ip link del flannel.1)
(ip link del cni0)
(iptables -F && iptables -t nat -F)
docker ps -a|grep -v gitlab|awk '{print $1}'|xargs docker rm -f
docker volume ls|awk '{print $2}'|xargs docker volume rm
systemctl restart docker

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM