首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >kubeadm 更新k8s集群证书

kubeadm 更新k8s集群证书

原创
作者头像
哇喔哇哦
发布2024-11-12 18:00:13
发布2024-11-12 18:00:13
6240
举报

说明

在 kubeadm 中,更新 Kubernetes 集群的证书并指定有效期,具体操作取决于你是初始化一个新集群,还是更新一个已存在的集群的证书。

1. 初始化集群时指定证书有效期

如果你在初始化集群时需要指定证书的有效期,可以在 kubeadm 配置文件中指定证书的有效期。可以通过 --config 参数加载一个配置文件,并在该文件中设置证书有效期。

配置文件示例(kubeadm-config.yaml):

代码语言:javascript
复制
apiVersion: kubeadm.k8s.io/v1beta3
kind: ClusterConfiguration
certificates:
  duration: 87600h  # 设置证书有效期为10年(87600小时)

然后,使用以下命令初始化 Kubernetes 集群:

代码语言:javascript
复制
sudo kubeadm init --config kubeadm-config.yaml

这会创建一个证书有效期为 10 年的集群。

2. 更新已存在集群的证书有效期

对于已存在的集群,kubeadm 提供了证书更新功能,可以续期集群中的证书,并指定新证书的有效期。

步骤:

  1. 续期所有证书:

提醒:请提前备份/etc/kubernetes/目录

代码语言:javascript
复制
cp -r /etc/kubernetes/ /etc/kubernetes-backup

你可以使用 kubeadm certs renew 命令续期所有证书。此命令会根据 kubeadm 配置的默认有效期(或者命令中指定的有效期)为当前证书生成新的有效期。

代码语言:javascript
复制
sudo kubeadm certs renew all  # 续期所有证书
  1. 单独续期特定证书:

你还可以单独续期某些证书。例如,要延长 apiserver 证书的有效期,可以使用:

代码语言:javascript
复制
sudo kubeadm certs renew apiserver
  1. 设置证书有效期为10年

目前,kubeadm certs renew 命令默认续期证书的有效期为1年。如果你希望延长证书的有效期,可以在执行 kubeadm init 或 kubeadm certs renew 时,通过 --certificate-duration 参数来设置新的证书有效期。

代码语言:javascript
复制
sudo kubeadm init --certificate-duration 87600h  # 设置证书有效期为10年

或者使用 kubeadm certs renew 续期时,指定有效期:

代码语言:javascript
复制
sudo kubeadm certs renew --certificate-duration 87600h all

3. 检查证书过期情况

你可以通过以下命令检查当前集群中证书的过期时间,确认它们是否已成功更新:

代码语言:javascript
复制
sudo kubeadm certs check-expiration

这会列出所有证书以及它们的过期时间。

4. 重启 Kubernetes 组件

证书续期后,通常需要重启相关的 Kubernetes 组件(如 kube-apiserver、kubelet 等)才能使新的证书生效:

代码语言:javascript
复制
sudo systemctl restart kubelet

根据提示重启关键组件pod:

Done renewing certificates. You must restart the kube-apiserver, kube-controller-manager, kube-scheduler and etcd, so that they can use the new certificates.

代码语言:javascript
复制
kubectl delete pod -n kube-system kube-apiserver-k8s-master kube-controller-manager-k8s-master kube-scheduler-k8s-master etcd-k8s-master

重新拷贝admin.conf文件

代码语言:javascript
复制
cp /etc/kubernetes/admin.conf /root/.kube/config

总结

  • 初始化集群时,通过 --config 配置文件指定证书有效期。
  • 已存在集群,可以使用 kubeadm certs renew 来续期证书,并通过 --certificate-duration 参数指定新的有效期。
  • 确保在证书更新后重启相关组件,以使新证书生效。
  1. 如果你需要更详细的帮助或遇到任何问题,随时告诉我!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 说明
  • 1. 初始化集群时指定证书有效期
  • 2. 更新已存在集群的证书有效期
  • 3. 检查证书过期情况
  • 4. 重启 Kubernetes 组件
  • 总结
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档