虚拟化容器,大数据,DBA,中间件,监控。

K8S证书过期处理

19 02月
作者:admin|分类:容器虚拟化

K8S证书过期处理

一、查看证书过期时间

find /etc/kubernetes/pki/ -type f -name "*.crt" -print|xargs -L 1 -t -i bash -c 'openssl x509 -noout -text -in {}|grep After'

二、备份原来的配置文件和证书

find /etc/kubernetes/pki/ -regex '.*.[crt|key]'|grep -v sa|grep -v ca|xargs -i cp {
   } /opt/

三、更新证书

脚本附件

chmod +x update-kubeadm-cert.sh 

./update-kubeadm-cert.sh all

四、重启docker和kubelet

systemctl restart kubelet
systemctl restart docker

五、 查看pod节点正常说明证书签发正常

kubectl get all -n kube-system

kubectl get nodes

六、因为Jenkins之前用的凭据是用之前的证书生成的需要重新生成

  1. 打开~/.kube/config文件
cat ~/.kube/config
  1. 制作证书
  • ca.crt
#复制certificate-authority-data的内容,运行以下命令生成ca.crt

echo "<certificate-authority-data>" | base64 -d > ca.crt
  • client.crt
#复制client-certificate-data的内容,运行以下命令生成client.crt

echo "<client-certificate-data>" | base64 -d > client.crt
  • client.key
#复制client-key-data的内容,运行以下命令生成

client.key echo "<client-key-data>" | base64 -d > client.key
  • cert.pfx
#再根据前面步骤生成的ca.crt, client.crt和client.key来生成PKCS12格式的cert.pfx #以下命令运行时,需要输入4位以上的密码

openssl pkcs12 -export -out cert.pfx -inkey client.key -in client.crt -certfile ca.crt
  1. 把生成的证书下载到本地cert.pfx 上传到Jenkins里面

请添加图片描述

  1. 把ca证书配置到Jenkins系统配置里面

请添加图片描述

  1. 最后把Jenkins里面的配置文件更新一下
scp 10.110.149.175(k8s-masterIP):/root/.kube/config  /root/.kube/config 
  1. 最后验证,在Jenkins里面能查看到k8s的状态
kubectl get nodes
浏览672 评论0
返回
目录
返回
首页
k8s 证书过期解决 Kubernetes集群证书过期解决办法