转载自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