K8S之可用年限修改
1. 查看证书有效期:
[ root@master1 kubernetes]
由上图可见,除了ca根证书,其他证书有效期都是1年。
2. go环境部署:
//下载go二进制包
wget https://studygolang.com/dl/golang/go1.20.5.linux-amd64.tar.gz
//解压:
tar -C /usr/local -xzf go1.20.5.linux-amd64.tar.gz
//配置环境变量:
vim /etc/profile
.. .
添加以下内容:
export PATH = $PATH :/usr/local/go/bin
//加载/etc/profile文件中定义的环境变量和配置
source /etc/profile
//查看go的版本号
go version
go version go1.20.5 linux/amd64
---可以看到版本号说明go环境已经部署完成。
3. 下载源码
//创建源码存放目录
mkdir /data/
//查看当前集群版本:
kubeadm version
kubeadm version: & version.Info{ Major:"1" , Minor:"20" , GitVersion:"v1.20.4" , GitCommit:"e87da0bd6e03ec3fea7933c4b5263d151aafd07c" , GitTreeState:"clean" , BuildDate:"2021-02-18T16:09:38Z" , GoVersion:"go1.15.8" , Compiler:"gc" , Platform:"linux/amd64" }
---可以看的出来版本为v1.20.4
//下载v1.20.4版本的源码
cd /data/ && wget https://archive.fgit.ml/kubernetes/kubernetes/archive/refs/tags/v1.20.4.zip
//解压源码:
unzip kubernetes-1.20.4.zip
4. 修改Kubeadm源码包
[ root@master1 ~]
[ root@master1 kubernetes-1.20.4]
添加如下:
const effectyear = time.Hour * 24 * 365 * 100
\ \ 把NotAfter: time.Now( ) .Add( kubeadmconstants.CertificateValidity) .UTC( ) ,改为如下内容:
NotAfter: time.Now( ) .Add( effectyear) .UTC( ) ,
5. 构建kubeadm,更新证书:
[ root@master1 ~]
make WHAT = cmd/kubeadm GOFLAGS = -v
//备份原证书:
cp -arp /etc/kubernetes/pki/ /etc/kubernetes/pki_` date +%F`
//备份kubeadm
mv /usr/bin/kubeadm /usr/bin/kubeadm_` date +%F`
//把新的kubeadm移到/usr/bin
cp -r _output/bin/kubeadm /usr/bin/
//更新Kubernetes集群中的所有证书
[ root@master1 kubernetes-1.20.4]
kubeadm: 是Kubernetes集群的命令行工具。 alpha: 是一个实验性的功能。 certs: 是一个子命令,用于管理Kubernetes集群中的证书。 renew: 是certs子命令的一个选项,表示要更新证书。 all: 是renew选项的参数,表示要更新所有证书。
6. 查看证书的可用年限是否变为100年
[ root@master1 ~]