k8s证书有效期时间修改的方法详解

 更新时间:2022年08月03日 13:10:21   作者:楠奕  
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证书有效期时间内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 详解推荐使用systemd timer替代cronjob

    详解推荐使用systemd timer替代cronjob

    这篇文章主要为大家介绍了推荐使用systemd timer替代0cronjob原理分析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • K8S-ConfigMap实现应用和配置分离详解

    K8S-ConfigMap实现应用和配置分离详解

    这篇文章主要为大家介绍了K8S-ConfigMap实现应用和配置分离详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-04-04
  • k8s跨服务调用入门到实战示例详解

    k8s跨服务调用入门到实战示例详解

    这篇文章主要为大家介绍了k8s跨服务调用入门到实战示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • kubernetes k8s常用问题排查方法

    kubernetes k8s常用问题排查方法

    新手学习K8s最大的难度感觉是在起步动手实践的时候,Pod没有正常启动起来,或者运行了一段时间Pod自己崩溃了。是什么问题导致了它没运行起来,或是什么因素导致了它的崩溃,本文来学习总结几个使用 K8s时常见的错误现象以及排查这些现象背后问题的方法
    2022-06-06
  • Rainbond的ServiceMesh架构组件端口冲突处理解决

    Rainbond的ServiceMesh架构组件端口冲突处理解决

    这篇文章主要大家介绍了Rainbond ServiceMesh架构组件端口冲突处理方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-04-04
  • helmfile声明式部署Helm Chart使用详解

    helmfile声明式部署Helm Chart使用详解

    这篇文章主要为大家介绍了helmfile声明式部署Helm Chart使用详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-02-02
  • 云原生要素配置分离ConfigMap创建方式

    云原生要素配置分离ConfigMap创建方式

    这篇文章主要为大家介绍了云原生要素配置分离ConfigMap以及多种创建方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • 解决k8s namespace 一直处于 Terminating 状态的问题

    解决k8s namespace 一直处于 Terminating 状态的问题

    这篇文章主要介绍了k8s namespace 一直处于 Terminating 状态的解决方法,以下的 tool 为 Terminating 状态的 namespace,下面相关的一些操作记得将 tool 修改成自己的 namespace 名称,需要的朋友可以参考下
    2022-10-10
  • K8S节点本地存储被撑爆问题彻底解决方法

    K8S节点本地存储被撑爆问题彻底解决方法

    这篇文章主要为大家介绍了K8S节点本地存储被撑爆问题彻底解决方法,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11
  • Kubernetes中使用PersistentVolume挂载云盘方式

    Kubernetes中使用PersistentVolume挂载云盘方式

    这篇文章主要介绍了Kubernetes中使用PersistentVolume挂载云盘方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-02-02

最新评论