- 使用kubeadm 初始化叢集成功後會返回join命令,裡面包含token, discovery-token-ca-cert-hash 等引數
token的過期時間是24h
certrificate-key 過期時間是2小時
- 如果不記得,可以執行下面的命令獲取
1.如果沒有超過24h,用下面的命令獲取(主要檢視是否過期)
kubeadm token list
2.如果過期,那用重新建立token
kubeadm token create
3.如果沒有discovery-token-ca-cert-hash值,透過以下命令獲取
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der 2>/dev/null | openssl dgst -sha256 -hex | sed 's/^.* //'
在node節點輸入join命令:
kubeadm join 10.26.12.152:6443 --token n5l04n.f1bib0dhbd2ca69i --discovery-token-ca-cert-hash sha256:7cd067dd84ed97d4863cd8ee4af1e7adefa20657c6e599251c2148838a9512b5
containerd安裝的預設禁用
使用安裝包安裝的containerd會預設禁用作為容器的執行時的功能,即安裝包安裝containerd後預設禁用containerd作為容器執行時
這會引起K8S報錯,因為沒有容器執行時可以用
開啟方法:
vim /etc/containerd/config.toml
# 到這個檔案中把disabled_plugins=["cri"] 改成 disabled_plugins=[]
systemctl restart containerd
# 重啟後才能生效
再執行join命令就沒問題了。
[root@whdcinthe004 ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
whdcinthe001.cn.infra Ready <none> 2m34s v1.28.7
whdcinthe004.cn.infra Ready control-plane 47h v1.28.7