K8S集群有证书的概念,之前一直是使用默认的,默认都是1年和10年的,1年有效期这显然对于生产环境是不合适的,下面这篇文章主要给大家介绍了关于k8s证书有效期时间修改的相关资料,需要的朋友可以参考下
修改后的集群时间,10年的时间,够集群平稳运行一段时间了。
刚部署好k8s的master集群时,查看证书有效期,时间是1年。一年,说长不长,说短不短。查看目前在运行的应用,都已经运行2年多,这样,1年的有效期就会有问题。
前提
确保资源池的监控信息都正常,如果有应用正在运行,确保应用能正常被访问到,监控信息也能正常被监控到。
更改有效期
大致分两步。
1、 可以先把所有的kubelet的service文件都替换了,然后挨个重启kubelet
2、 controller-manager 一定要先重启备节点,再重启主节点
kubelet证书更新具体步骤(需要root权限)
集群中没有应用运行的情况
a.添加参数
调用下面的命令行修改 kube- controller-manager 组件配置 【所有kube master节点都要修改】
都只是修改完配置文件,systemctl daemon-reload,暂时不重启。
# sed -i '/v=2/i\ --experimental-cluster-signing-duration=87600h0m0s \\' /usr/lib/systemd/system/kube-controller-manager.service
# sed -i '/v=2/i\ --feature-gates=RotateKubeletServerCertificate=true \\' /usr/lib/systemd/system/kube-controller-manager.service
# systemctl daemon-reload
查看修改后的 kube-controller-manager.service文件
2.修改 kubelet 组件配置 【所有kube-master 和 kube-node节点都要修改】
# sed -i '/v=2/i\ --feature-gates=RotateKubeletServerCertificate=true \\' /usr/lib/systemd/system/kubelet.service
# sed -i '/v=2/i\ --feature-gates=RotateKubeletClientCertificate=true \\' /usr/lib/systemd/system/kubelet.service
# sed -i '/v=2/i\ --rotate-certificates \\' /usr/lib/systemd/system/kubelet.service
# systemctl daemon-reload
查看kubelet.service内容
集群中有应用运行的情况
先重启备kube-controller-manager节点,最后重启主kube-controller-manager节点服务。
# systemctl restart kube-controller-manager
查看当前主kube-controller-manager,
# kubectl get endpoints kube-controller-manager --namespace=kube-system -o yaml
备份删除kubelet证书,重启kubelet服务
# cd /etc/kubernetes/ssl/
# mkdir /home/k8app/ssl.bak
# mv kubelet* /home/k8app/ssl.bak
# systemctl restart kubelet
# systemctl status kubelet.service
确认kubelet启动成功,在master主机k8app用户下
$ kubectl get csr
Approve 状态为pending的csr
# kubectl get csr | grep -i pending | awk '{print $1}' | grep -vi name | xargs kubectl certificate approve
#执行完后,再检查下
# kubectl get csr
确认csr为Approved,Issued状态
检查证书有效期
便都是10年有效期了
总结
到此这篇关于k8s证书有效期时间修改的文章就介绍到这了,更多相关k8s证书有效期时间内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:k8s证书有效期时间修改的方法详解
- nginx中封禁ip和允许内网ip访问的实现示例 2022-09-23
- 教你在docker 中搭建 PHP8 + Apache 环境的过程 2022-10-06
- CentOS_mini下安装docker 之 安装docker CE 2023-09-23
- IIS搭建ftp服务器的详细教程 2022-11-15
- 解决:apache24 安装后闪退和配置端口映射和连接超时设置 2023-09-11
- CentOS7安装GlusterFS集群的全过程 2022-10-10
- 利用Docker 运行 python 简单程序 2022-10-16
- 【转载】CentOS安装Tomcat 2023-09-24
- KVM虚拟化Linux Bridge环境部署的方法步骤 2023-07-11
- 阿里云ECS排查CPU数据分析 2022-10-06