kubeadm初始化 apiserver证书到期替换.md
2019-08-09 本文已影响0人
平凡的运维之路
Kubernetes证书到期导致解决方法
-
由于使用kubeadm 初始化 k8s集群,默认签发的CA证书是1年有效期,到期之后请求apiserver导致报错
-
首先使用openssl命令查询相关证书是否到期
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep Not
[root@master ~]# openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -text |grep Not
具体解决方法
- 备份Kubernetes配置文件
mkdir -p /root/`date +%F`;cp –ar /etc/kubernetes /root/`date +%F`
- 由于k8s版本1.15.0版本之后,重新签发证书则不需要访问k8s.io网络,默认签发是1年,通过修改kubadm 源码编译默认添加100年,证书签证,使用CA证书只有10年。
-
下载kubeadm地址连接
http://www.zhao13869.com/kubeadm.tgz
-
见附件 kubeadm.tgz文件
-
先上传到服务器中,然后解压
-
tar zxf kubeadm.tgz
- 执行证书替换操作,本地执行刚上传解压之后的kubeadm二进制文件
./kubeadm alpha certs renew all
- 重启Manster 和Node节点上的kubelet,并替换配置文件
systemctl restart kubelet
mv ~/.kube/config ~/.kube/config_`date +%F`
cp /etc/kubernetes/admin.conf ~/.kube/config
- 然后使用openssl命令查询相关证书是时长是否已经修改
[root@master ~]# openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep Not
Not Before: May 25 06:57:29 2019 GMT
Not After : Jul 14 02:51:55 2119 GMT
[root@master ~]# openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -text |grep Not
Not Before: May 25 06:57:29 2019 GMT
Not After : May 22 06:57:29 2029 GMT
[root@master ~]# openssl x509 -in /etc/kubernetes/pki/etcd/ca.crt -noout -text |grep Not
Not Before: May 25 06:57:33 2019 GMT
Not After : May 22 06:57:33 2029 GMT
- 查询Pod是否正常,能查询出数据说明证书签发处理完成
[root@master ~]# kubectl get pods
NAME READY STATUS RESTARTS AGE
myapp-7877647684-4l6gt 1/1 Running 2 37d
myapp2-79f74b4cd8-vdk7v 1/1 Running 2 37d