k8s集群证书有效期修改

这篇具有很好参考价值的文章主要介绍了k8s集群证书有效期修改。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

kubeadm方式部署的k8s集群证书有效期是一年,之所以是这种机制,是因为官方版本更新比较快,官方希望使用者能跟上官方的版本。换句话说,每次k8s集群版本更新,证书有效期继续延期一年,但是每年更新一次k8s集群频率太频繁。个人认为手工更新证书可取,至于集群版本更新,有需要的时候再更新。

k8s集群的证书目录位于/etc/kubernetes/pki目录下

第一步、查看k8s集群证书的有效期

可用看到,除了ca证书的有效期为10年,其余证书的有效期只有一年,对于生产环境是不可取的。

[root@master01 ~]# for i in $(ls /etc/kubernetes/pki/*.crt); do echo "******$i******"; openssl x509 -in $i -text -noout | grep -A 3 'Validity' ; done

k8s集群证书有效期修改

第二步、下载go语言环境并配置

中文社区网址:Go下载 - Go语言中文网 - Golang中文社区

[root@master01 ~]# wget https://studygolang.com/dl/golang/go1.19.4.linux-amd64.tar.gz

将下载的go环境解压至/usr/local/

[root@master01 ~]# tar xf go1.19.4.linux-amd64.tar.gz  -C /usr/local/

设置go的环境变量,并查看go版本

[root@master01 ~]# echo "export PATH=$PATH:/usr/local/go/bin" >>/etc/profile

[root@master01 ~]# source /etc/profile

[root@master01 ~]# go version

k8s集群证书有效期修改

第三步、下载k8s项目源码并切换到当前集群版本对应的分支

[root@master01 ~]# git clone https://github.com/kubernetes/kubernetes.git

k8s集群证书有效期修改

查看当前集群版本

[root@master01 ~]# kubeadm  version

k8s集群证书有效期修改

进入克隆的kubernetes目录,切换到版本对应的分支

[root@master01 ~]# cd kubernetes

[root@master01 kubernetes]# git checkout -b remote/origin/release-1.19.16 v1.19.16

k8s集群证书有效期修改

第四步、修改配置文件

打开文件,找到certTmpl关键字,这就是创建证书的模板

 [root@master01 kubernetes]# vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go

k8s集群证书有效期修改

新增的一行         

const certdate = time.Hour * 24 * 365 * 10

这一行用于定义一个常量 certdate,存放证书有效期10年

修改的一行

NotAfter:     time.Now().Add(certdate).UTC(),

修改证书模板的有效期

第五步、编译kubeadm、备份kubeadm及证书,重新生成证书文件

编译kubeadm

[root@master01 kubernetes]# make WHAT=cmd/kubeadm GOFLAGS=-v

编译成功以后,会生成在__output/bin/kubeadm位置,将其放到root目录下

[root@master01 kubernetes]# cp _output/bin/kubeadm   /root/

备份kubeadm

[root@master01 kubernetes]# cp /usr/bin/kubeadm  /usr/bin/kubeadm.bak

备份成功以后再将之前编译生成的kubeadm复制到/usr/bin/下,并赋予执行权限

[root@master01 kubernetes]# cd

[root@master01 ~]# cp kubeadm /usr/bin/kubeadm

cp:是否覆盖"/usr/bin/kubeadm"? y

[root@master01 ~]# chmod a+x /usr/bin/kubeadm

备份证书目录

[root@master01 ~]# cp -r /etc/kubernetes/pki   /etc/kubernetes/pki.bak

查找k8s 配置文件,并生成新的证书

[root@master01 ~]# find / -name "kubeadm-config.yaml

[root@master01 ~]# kubeadm alpha  certs  renew  all --config=/root/kubeadm-config.yaml

最后、再次查看证书的有效期

再次查看证书有效期,证书有效期均被设置为10年

[root@master01 ~]# kubeadm alpha certs check-expiration                                                                   

k8s集群证书有效期修改文章来源地址https://www.toymoban.com/news/detail-424653.html

到了这里,关于k8s集群证书有效期修改的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • K8S(kubeadm版)更新证书

            使用kubeadm方式安装的kubernetes集群各个组件所使用的证书期限为1年,CA 根证书是 10 年。到期后,证书失效,kubectl命令无法使用,在使用kubectl命令时,报错无法连接到localhost:8080,错误大概为:“certificate has expired or is not yet valid”。 来自弟弟的忠告,尽量别过期

    2024年04月16日
    浏览(39)
  • win7 安装ArcMap10.7提示下载Microsoft.NET Framework 4.5,安装过程中提示:安尚未成功,根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内。

    win7 安装ArcMap10.7提示下载Microsoft.NET Framework 4.5,安装过程中提示:安尚未成功,根据当前系统时钟或签名文件中的时间戳验证时要求的证书不在有效期内。 键盘快捷键win+r,在命令提示符里输入cmd,输入winver,并回车,可以查看对应的版本。 32位系统补丁下载地址: https://

    2024年02月05日
    浏览(99)
  • Kubeadm 部署 k8s 集群

    目录 1.初始化设置 2.所有节点安装docker 3.k8s节点安装kubeadm,kubelet和kubectl 4.部署K8S集群  5.部署Dashboard 6.部署harbor私有仓库 名称 设置 组件 master 192.168.116.70(2C/4G,cpu核心数要求大于2) docker、kubeadm、kubelet、kubectl、flannel node01 192.168.116.60(2C/2G) docker、kubeadm、kubelet、kubectl、

    2024年02月09日
    浏览(39)
  • kubeadm创建k8s集群

    kubeadm来快速的搭建一个k8s集群: 二进制搭建适合大集群,50台以上。 kubeadm更适合中下企业的业务集群。 master 192.168.10.10 dockerkubelet kubeadm kubectl flannel node1 192.168.10.20 dockerkubelet kubeadm kubectl flannel node2 192.168.10.30 dockerkubelet kubeadm kubectl flannel harbor 192.168.10.40 docker-compose hargordock

    2024年02月03日
    浏览(33)
  • Kubeadm安装K8s集群

    一、硬件环境 准备3台Linux服务器,此处用Vmware虚拟机。 主机名 CPU 内存 k8smaster 2核 4G k8snode1 2核 4G k8snode2 2核 4G 二、系统前置准备 配置三台主机的hosts文件 设置主机名 关闭selinux、禁用swap分区 ipv4流量转发 关闭防火墙 同步三台服务器的时间 三、环境安装 Docker 安装 Docker卸载

    2024年02月13日
    浏览(35)
  • kubeadm搭建k8s集群

    二进制部署 部署难,管理方便,集群伸展性能好 更稳定,集群规模到达一定的规模(几百个节点、上万个Pod),二进制稳定性是要高于kubeadm部署 遇到故障,宿主机起来了,进程也会起来 kubeadm部署 部署简单,管理难 是以一种容器管理容器的方式允许的组件及服务,故障恢复时

    2024年02月04日
    浏览(44)
  • 基于kubeadm部署K8S集群

    目录 基于kubeadm部署K8S集群 一、环境准备 1、主机初始化配置 2、配置主机名并绑定hosts,不同主机名称不同 3、主机配置初始化 二、部署docker环境 1、三台主机上分别部署 Docker 环境 2、镜像加速器(所有主机配置) 三、部署kubernetes集群 (一)组件介绍 (二)配置阿里云yu

    2024年02月13日
    浏览(41)
  • Linux设置用户的密码有效期

    使用命令chage加参数可以查看,更改用户密码的有效期。 chage -l username 如下是永不会过期的类型 以下是90天有效期的类型  ​​​​​​​ 通过参数 -M 设置账户密码的到期时间 语法: chage  -M  number-of-days  username (扩展: -M  指定的是密码有效的最大天数 -m  指定的是密码

    2024年02月06日
    浏览(64)
  • linux设置密码有效期,设置永不过期

    一、设置用户密码过期时间 1.查看admin用户密码默认情况,默认为永不修改。 2.设置密码定期过期 [root@localhost ~]# chage -d 0 -m 0 -M 90 -W 15 admin -m  #密码可更改的最小天数,为0时代表任何时候都可以更改密码 -M  #密码保持有效的最大天数 -W  #用户密码到期前,提前收到警告信息

    2024年02月03日
    浏览(43)
  • 基于Kubeadm部署k8s集群:下篇

    继续上篇内容 目录 7、安装flannel 8、节点管理命令 三、安装Dashboard UI 1、部署Dashboard 2、开放端口设置 3、权限配置 7、安装flannel Master 节点NotReady 的原因就是因为没有使用任何的网络插件,此时Node 和Master的连接还不正常。目前最流行的Kubernetes 网络插件有Flannel、Calico、Cana

    2024年02月13日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包