k8s证书续签问题处理

  有的项目k8s搭建时未考虑证书授权问题,导致一年后证书到期,一下是问题处理思路。
  建议搭建k8s的时候就设置为100年

一、1.18版本

1、查看证书有效期(1.18)

kubeadm alpha certs check-expiration

2、查看CA证书过期时间

openssl x509 -in /etc/kubernetes/pki/ca.crt -noout -text |grep Not

3、查看集群证书过期时间

openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text |grep ' Not '

4、获取一个创建好的 k8s集群的初始化配置文件

kubeadm config view > kubeadm.yaml

如果证书已经过期,请创建kubeadm.yaml文件,后边会用这个文件

vim kubeadm.yaml

sion: kubeadm.k8s.io/v1beta1
kind: ClusterConfiguration
kubernetesVersion: v1.15.0  # kubernetes 版本
apiServer:
    certSANs:
    - 192.168.10.xxx # master 所有节点IP地址,包括master和slave
    - 192.168.10.xxx # slave1
    - 192.168.10.xxx # slave2
    extraArgs:
        service-node-port-range: 80-32767
        advertise-address: 0.0.0.0
controlPlaneEndpoint: "192.168.10.xxx:6443"  # APIserver 地址,也就是master节点地址
imageRepository: registry.cn-hangzhou.aliyuncs.com/google_containers #这里使用国内阿里云的镜像仓库

如果是集群,请在所有master节点执行以下命令

5、备份老证书

cp -rp /etc/kubernetes /etc/kubernetes.bak

6、重新签发全部组件的证书

kubeadm alpha certs renew all --config=kubeadm.yaml

7、生成新的配置文件

mv /etc/kubernetes/*.conf    ~/.
kubeadm init phase kubeconfig all --config kubeadm.yaml

8、将新生成的admin.conf文件覆盖掉.kube/config文件

mv $HOME/.kube/config $HOME/.kube/config.old
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
chmod 644 $HOME/.kube/config

9、重启kube-apiserver,kube-controller,kube-scheduler,etcd这4个容器:(一定要ps -a要不有可能服务容器没启动)

docker ps -a | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash

10、各节点重启kubelet

systemctl restart kubelet

二、1.25版本(天津)

1、查看证书有效期(1.25)

kubeadm certs check-expiration

2、备份老证书

cp -rp /etc/kubernetes /etc/kubernetes.bak时间

3、重新签发全部组件的证书

kubeadm certs renew all

4、生成新的配置文件

mv /etc/kubernetes/*.conf    ~/.
kubeadm init phase kubeconfig all

5、将新生成的admin.conf文件覆盖掉.kube/config文件

mv $HOME/.kube/config $HOME/.kube/config.old
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
chmod 644 $HOME/.kube/config

查看一下config这个文件和/etc/kubernetes/kubelet.conf 的 ip是不是apiserver的ip 这个环境可能有问题 生成出来的识别的网卡的 ip就会有问题

可以直接重启服务器

6、重启kube-apiserver,kube-controller,kube-scheduler,etcd这4个容器:(一定要ps -a要不有可能服务容器没启动)

for i in $(nerdctl -n k8s.io ps -a | grep -v pause | grep Up | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}'); do nerctl -n k8s.io restart $i; done

7、各节点重启kubelet

systemctl restart kubelet

  • 9
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值