做甜點的網(wǎng)站百度手機(jī)seo軟件
問題描述
本地有一個1master2worker的k8s集群,今天啟動VMware虛擬機(jī)之后發(fā)現(xiàn)api-server沒有起來,docker一直退出,這個集群是使用kubeadm安裝的。
于是kubectl logs查看了日志,發(fā)現(xiàn)證書過期了
解決方案:
查看證書
# kubeadmcerts check-expiration
重新生成證書
這步會覆蓋/etc/kubernetes/pki下面的證書文件
# kubeadm certs renew all
根據(jù)提示,重啟docker【kube-apiserver, kube-controller-manager, kube-scheduler and etcd】
# docker stop docker.service
# docker stop docker.socket
更新kubelet證書
同樣,證書已過期
這里可以直接刪除/etc/kubernetes的conf文件,因為conf文件都是用的舊的證書生成的配置,我們用新生成的證書重新生成配置
# kubeadm init --kubernetes-version=v1.22.2 phase kubeconfig all
kubelet也生成了新的證書和conf文件,過期時間也更新了
拷貝admin.config到~/.kube/config,此時集群可以訪問了
# cp /etc/kubernetes/admin.conf ~/.kube/config
將kubelet.conf文件拷貝到各個node節(jié)點上,node節(jié)點重啟kubelet