首页 > 其他分享 >k8s证书续期10年

k8s证书续期10年

时间:2024-07-26 09:55:27浏览次数:13  
标签:10 kube kubernetes 证书 续期 k8s config kubeadm

现象

通过 kubeadm 安装 kubernetes 集群时会存在一个证书问题:由 kubeadm 生成的客户端证书在 1 年后到期。

随着 kubernetes 集群的使用,某一天证书过期了,此时 kubernetes 集群将无法正常使用,比如:kubectl 命令执行会产生错误(You must be logged in to the server(unauthorized))、通过 k8s 接口访问资源时出现“证书过期”的错误等。

很明显,这是证书过期导致,只需更新证书即可。

k8s 为什么将客户端证书的有效期设置为 1 年呢?

kubeadm 会在控制面升级的时候更新所有证书。

如果你对此类证书的更新没有特殊要求, 并且定期执行 Kubernetes 版本升级(每次升级之间的间隔时间少于 1 年), 则 kubeadm 将确保你的集群保持最新状态并保持合理的安全性。

最佳的做法是经常升级集群以确保安全。

解决方法

在实际中,如果遇到证书过期,则需手动更新证书,通过 kubeadm certs renew 命令手动更新你的证书。

查看证书过期时间。

在 Master 节点上,执行 kubeadm certs check-expiration 命令,查看证书过期时间。

输出类似以下内容:

image

备份证书

为防止更新证书等操作失败,关键操作前一定要进行备份。备份 /etc/kubernetes 目录:

cp -r /etc/kubernetes /etc/kubernetes.old # 当升级证书失败时, 可以将此文件夹复原, 即可恢复原有集群

修改时间

将k8s的所以节点的时间修改成未来的时间

date -s "20330508 12:00:00"

更新证书

使用 kubeadm certs renew all 命令来更新所有证书。

image

更新 ~/.kube/config 文件

mv config config.old
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
chown $(id -u):$(id -g) $HOME/.kube/config
sudo chmod 644 $HOME/.kube/config
弹出提示,输入y,回车

将k8s的所以节点的时间修改成现在的时间
date -s "20230508 12:00:00"

重启

重启 kube-apiserver,kube-controller,kube-scheduler,etcd 这4个容器:
docker ps | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash

在 Master 节点上,执行 kubeadm certs check-expiration 命令,查看证书过期时间。就会发现证书已经更新了

标签:10,kube,kubernetes,证书,续期,k8s,config,kubeadm
From: https://www.cnblogs.com/syq520/p/18324692

相关文章

  • 题解:P10570 [JRKSJ R8] 网球(未成功)
    题目链接博客食用更佳:Myblog。这道题不是很难。提交记录分析:\(A\)每转\(a\)圈,\(B\)就转\(b\)圈,不考虑\(c\)的前提下,可知每个齿轮转了\([a,b]\)个齿,\(A\)有\([a,b]\diva\)个齿,\(B\)有\([a,b]\divb\)个齿,接着扩倍扩到都大于\(c\)。拓展:\[[a,b]=......
  • 题解:P10721 [GESP202406 六级] 计算得分(未成功)
    博客食用更佳:Myblog题目传送门分析:这道题是一个标准的dp。我们可以先预处理多个\(\texttt{abc}\)连成的字符串的最大值,之后可以按最长平台的方法处理。步骤:初值:这题不需要赋值,因为题目保证得分是正的,故初值为\(0\)。状态:\(dp_i\)表示连续\(i\)个\(\texttt{abc......
  • 关于k8s中的pv和pvc无法绑定
    在一次申明pv和pvc时,发现两者怎么都无法绑定,以下是两个文件申明pvapiVersion:v1kind:PersistentVolumemetadata:name:my-pvspec:capacity:storage:5GiaccessModes:-ReadWriteManypersistentVolumeReclaimPolicy:RecyclestorageClassName:nfs......
  • 题解:P10043 [CCPC 2023 北京市赛] 广播
    博客使用更佳:Myblog题目传送门这道题是一个标准的dp了,只不过它要倒序来做。还是分三步。初值:初值想必都知道吧,若要求最小值,就把初值设成无穷大,\(dp_{0,i}\)和\(dp_{i,0}\)都要设成\(i\),\(dp_{0,0}\)一定要赋值成\(0\),这是本人亲自犯过的错误QwQ。状态:\(dp_{i,j}......
  • Windows10禁用资源管理器文件夹自动视图转换
    在Windows系统中,当使用资源管理器浏览文件夹时,系统有时会自动将文件夹视图转换为特定类型(如音乐或图片)的显示模式,这可能会给一些用户带来不便。为了禁用这个功能,你可以通过修改注册表来实现。以下是详细的步骤:方法一:通过修改注册表禁用自动视图转换打开注册表编辑器:按下Win+......
  • 数字化时代下高校程序设计类课程综合实践平台-计算机毕业设计源码41020
    摘要在数字化时代浪潮的推动下,高校程序设计类课程的教学与实践面临着前所未有的挑战与机遇。为适应这一时代变革,培养具备创新能力和实践精神的高素质程序设计人才,综合实践平台的设计与开发显得尤为重要。本文旨在探讨高校程序设计类课程综合实践平台的设计与开发,通过深入分析......
  • 写入羽毛或镶木地板文件格式时出现 Geopandas 错误 - UnsupportedGEOSVersionError:“i
    当尝试将pandas地理数据帧“gdf”写入羽毛文件格式时,我收到错误消息UnsupportedGEOSVersionError:The“iso”选项至少需要GEOS3.10.0gdf.to_feather("California_Buildings.feather")我环境中当前的GEOS版本是3.12.1应该满足这个要求...尽管我没有......
  • 试图找出此页面的逻辑:存储了大约 ++ 100 个结果 - 并使用 Python 和 BS4 进行了解析
    试图找出此页面背后的逻辑:我们已将一些结果存储在以下数据库中:https://www.raiffeisen.ch/rch/de/ueber-uns/raiffeisen-gruppe/Organization/raiffeisenbanken/deutsche-schweiz.html#accordionitem_18104049731620873397从a到z大约:120个结果或更多:......
  • leetcode103. 二叉树的锯齿形层序遍历,简单易懂附代码详解
    leetcode103.二叉树的锯齿形层序遍历给你二叉树的根节点root,返回其节点值的锯齿形层序遍历。(即先从左往右,再从右往左进行下一层遍历,以此类推,层与层之间交替进行)。示例1:输入:root=[3,9,20,null,null,15,7]输出:[[3],[20,9],[15,7]]示例2:输入:root=[1]输出:[[1......
  • 05、K8s安全
    3.1API资源对象NetworkPolicyNetworkPolicy用来控制Pod与Pod之间的网络通信,它也支持针对Namespace进行限制。基于白名单模式,符合规则的对象通过,不符合的拒绝应用场景:PodA不能访问PodB开发环境所有Pod不能访问测试命名空间提供对外访问时,限制外部IP官方NetworkPolic......