轉載自https://www.cnblogs.com/kuku0223/p/12978716.html
1. 各個證書過期時間
/etc/kubernetes/pki/apiserver.crt #1年有效期
/etc/kubernetes/pki/front-proxy-ca.crt #10年有效期
/etc/kubernetes/pki/ca.crt #10年有效期
/etc/kubernetes/pki/apiserver-etcd-client.crt #1年有效期
/etc/kubernetes/pki/front-proxy-client.crt #1年有效期
/etc/kubernetes/pki/etcd/server.crt #1年有效期
/etc/kubernetes/pki/etcd/ca.crt #10年有效期
/etc/kubernetes/pki/etcd/peer.crt #1年有效期
/etc/kubernetes/pki/etcd/healthcheck-client.crt #1年有效期
/etc/kubernetes/pki/apiserver-kubelet-client.crt #1年有效期
2. 生成集群的配置文件
kubeadm config view > /tmp/cluster.yaml
3、備份原有證書
cp -rp /etc/kubernetes /etc/kubernetes.bak
4、備份etcd數據目錄
cp -r /var/lib/etcd /var/lib/etcd.bak
5、更新證書
kubeadm alpha certs renew all --config=/tmp/cluster.yaml
6、在三台Master上執行重啟kube-apiserver,kube-controller,kube-scheduler,etcd這4個容器,使證書生效
docker ps |grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' |xargs docker restart
7、查看各個證書過期時間
kubeadm alpha certs check-expiration
或者
for item in `find /etc/kubernetes/pki -maxdepth 2 -name "*.crt"`; do openssl x509 -in $item -text -noout| grep Not; echo ======================$item===============;done