Kubernetes---修改证书可用年限

⒈查询证书可用时间

openssl x509 -in apiserver.crt -text -noout

  *在Vallidity节点下

  Kubernetes有两种机制去创建证书,有一部分是1年的,有1部分是10年的

⒉部署Go语言环境

  Go中文社区:https://studygolang.com/dl

  https://studygolang.com/dl/golang/go1.14.2.linux-amd64.tar.gz

 

  Go官网:https://golang.org/dl/

  https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz

 

wget https://dl.google.com/go/go1.14.2.linux-amd64.tar.gz 
tar -zxvf go1.14.2.linux-amd64.tar.gz -C /usr/local
vi /etc/profile 
    export PATH=$PATH:/usr/local/go/bin 
source /etc/profile
go version

⒊下载源码

cd /data && git clone https://github.com/kubernetes/kubernetes.git 
cd kubernetes
git checkout -b remotes/origin/release-1.15.1 v1.15.1  #切换当前版本(分支)    

⒋修改 Kubeadm源码包更新证书策略

vim staging/src/k8s.io/client-go/util/cert/cert.go  # kubeadm 1.14 版本之前 
vim cmd/kubeadm/app/util/pkiutil/pki_helpers.go # kubeadm 1.14 至今 
    const duration365d = time.Hour * 24 * 365 * 10  #设置为10年
    NotAfter: time.Now().Add(duration365d).UTC(),   #替换
make WHAT=cmd/kubeadm GOFLAGS=-v    #设置只编译kubeadm
cp _output/bin/kubeadm /root/kubeadm-new

⒌更新 kubeadm 

#将kubeadm 进行替换 
cp /usr/bin/kubeadm /usr/bin/kubeadm.old 
cp /root/kubeadm-new /usr/bin/kubeadm 
chmod a+x /usr/bin/kubeadm

⒍更新各节点证书至Master节点

cp -r /etc/kubernetes/pki /etc/kubernetes/pki.old 
cd /etc/kubernetes/pki 
kubeadm alpha certs renew all --config=/root/kubeadm-config.yaml 
openssl x509 -in apiserver.crt -text -noout | grep Not

⒎HA集群其余 mater节点证书更新

复制代码
#!/bin/bash 
masterNode="192.168.66.20 192.168.66.21"
#for host in ${masterNode}; do
# scp /etc/kubernetes/pki/{ca.crt,ca.key,sa.key,sa.pub,front-proxy-ca.crt,front-proxy-ca.key}
# "${USER}"@$host:/etc/kubernetes/pki/ 
# scp /etc/kubernetes/pki/etcd/{ca.crt,ca.key} "root"@$host:/etc/kubernetes/pki/etcd 
# scp /etc/kubernetes/admin.conf "root"@$host:/etc/kubernetes/ 
#done 
for host in ${CONTROL_PLANE_IPS}; do 
    scp /etc/kubernetes/pki/{ca.crt,ca.key,sa.key,sa.pub,front-proxy-ca.crt,front-proxy-ca.key} 
"${USER}"@$host:/root/pki/ 
    scp /etc/kubernetes/pki/etcd/{ca.crt,ca.key} "root"@$host:/root/etcd 
    scp /etc/kubernetes/admin.conf "root"@$host:/root/kubernetes/ 
done
复制代码

 

  

作者:奇

出处:https://www.cnblogs.com/fanqisoft/p/12817143.html

版权:本作品采用「本文版权归作者和博客园共有,欢迎转载,但必须给出原文链接,并保留此段声明,否则保留追究法律责任的权利。」许可协议进行许可。

posted @   SpringCore  阅读(973)  评论(0编辑  收藏  举报
编辑推荐:
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!
more_horiz
keyboard_arrow_up light_mode palette
选择主题
点击右上角即可分享
微信分享提示