今天嘗試在虛擬機(jī)安裝k8s集群,用sleaos安裝
1.安裝sealos
# 下載并安裝sealos, sealos是個(gè)golang的二進(jìn)制工具,直接下載拷貝到bin目錄即可, release頁(yè)面也可下載
wget -c https://sealyun-home.oss-cn-beijing.aliyuncs.com/sealos/latest/sealos && \
chmod +x sealos && mv sealos /usr/bin
# 下載離線資源包
wget -c https://sealyun.oss-cn-beijing.aliyuncs.com/05a3db657821277f5f3b92d834bbaf98-v1.22.0/kube1.22.0.tar.gz
2.運(yùn)行命令
sealos init --passwd 'Lins!@34' \
--master 192.168.56.5 --node 192.168.56.6 \
--pkg-url /root/kube1.21.1.tar.gz \
--version v1.21.1
3.啟動(dòng)后發(fā)現(xiàn)node一直是notready狀態(tài)
[root@master01 1.8+]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master01 NotReady control-plane,master 9m11s v1.21.1
master02 NotReady <none> 8m38s v1.21.1
一開(kāi)始以為是metrics-server沒(méi)裝導(dǎo)致,后一想不對(duì),metrics-server只會(huì)導(dǎo)致kubectl top 失效
4.檢查了kubelet 日志,一開(kāi)始以為calico問(wèn)題,檢查了下calico運(yùn)行正常
5月 12 18:43:11 master02 kubelet[9500]: E0512 18:43:11.339414 9500 kubelet.go:2211] "Container runtime network not ready" networkReady="NetworkReady=false reason:NetworkPluginNotReady message:Network plugin returns error: cni plugin not initialized"
5.試了網(wǎng)上一圈,比如重新生成ssl,最終解決重啟了容器運(yùn)行時(shí)進(jìn)程,比如docker或者containerd,我這邊是containerd,問(wèn)題解決。記錄下,其實(shí)還沒(méi)明白什么原因。
[root@master01 1.8+]# systemctl restart containerd
[root@master01 1.8+]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
master01 Ready control-plane,master 12m v1.21.1
master02 Ready <none> 12m v1.21.1