暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Rancher证书轮换

IT运维大爆炸 2024-02-21
87

1、简介

默认情况下,Kubernetes 集群所需要的证书由 Rancher 生成,默认有效期1年,如果出现证书过期,或证书泄露等情况,则需要使用新的证书轮换掉有问题的证书。轮换证书后,Kubernetes 组件将自动重新启动。

2、查看证书有效期

[root@master ~]# openssl x509 -in etc/kubernetes/ssl/kube-apiserver.pem -noout -dates
notBefore=Jul 11 07:53:35 2019 GMT
notAfter=Dec  9 06:42:50 2030 GMT

3、证书过期无法访问Rancher UI

由于刚安装的k8s集群有效期为1年,不变模拟证书过期场景,这里找了一个本地环境之前安装的k8s集群(Rancher v2.2.4)且已经过期了。如果集群证书已经过期,那么即使升级到Rancher v2.0.14、v2.1.9以及更高版本也无法轮换证书。rancher 是通过Agent去更新证书,如果证书过期将无法与Agent连接。

这种情况可以手动进行时钟回拨,因为Agent只与K8S master和Rancher Server通信,如果 Rancher Server 证书未过期,那就只需调整K8S master节点时间。

# 关闭时钟同步,否则时间会自动更新
[root@master kubernetes]# timedatectl set-ntp false
[root@master kubernetes]# timedatectl set-time "2020-06-18 11:26:44"

正常访问

重新进行时钟同步

[root@master ~]# timedatectl
    Local time: 三 2020-12-23 12:04:53 CST
Universal time: 三 2020-12-23 04:04:53 UTC
      RTC time: 三 2020-12-23 04:04:53
      Time zone: Asia/Shanghai (CST, +0800)
    NTP enabled: yes
NTP synchronized: yes
RTC in local TZ: no
    DST active: n/a

4、证书更换

#部署k8s rancher时创建secret的命令
[root@master ~]# kubectl --kubeconfig=kube_config_rancher-cluster.yml -n cattle-system create secret tls tls-rancher-ingress --cert=tls.crt --key=tls.key

#去local集群确认是否存在这个 tls-rancher-ingress,如果存在删除掉
[root@master ~]# kubectl delete secret tls tls-rancher-ingress -n cattle-system

#重新创建
[root@master ~]# kubectl -n cattle-system create secret tls tls-rancher-ingress --cert=tls.crt --key=tls.key

欢迎大家扫码关注:

本公众号只写原创,不接广告、不接广告、不接广告。下期小伙伴想学习什么技术,可以私信发我吆。

文章转载自IT运维大爆炸,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论