记录日常工作关于系统运维,虚拟化云计算,数据库,网络安全等各方面问题。
 
0

K8S证书过期处理

发表者:admin分类:云计算容器2022-02-19 12:57:02 阅读[332]

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/

三、更新证书

这里介绍证书已经过期的解决方法,以下延长证书过期的方法适合kubernetes1.14、1.15、1.16、1.17、1.18版本。操作步骤如下:

下载update-kubeadm-cert.sh

https://github.com/yuyicai/update-kube-cert

把update-kubeadm-cert.sh文件上传到k8s各节点任意位置


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



转载请标明出处【K8S证书过期处理】。

《www.92cto.com》 虚拟化云计算,系统运维,安全技术服务.

网站已经关闭评论