美文网首页K8sk8s
一文学会kubernetes集群 master证书签约期限更新为

一文学会kubernetes集群 master证书签约期限更新为

作者: sknfie | 来源:发表于2021-07-28 18:36 被阅读0次

    概述

    用kubeadm安装kubernetes集群,默认签发的证书有效期为1年,如果客户要求不能频繁对kubernetes 集群做变更施工,一般考虑将证书签发期限改为10年。

    1、master节点

    验证apiserver.crt证书有效期限

    openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout | grep Not 
    

    2、下载kubernetes源码

    git和Golang已安装,登录192.168.1.10主机,执行以下命令

    cd /root/kubeadm/tmp/ 
    git clone https://github.com/kubernetes/kubernetes/ 
    

    切换到1.19.0分支

    cd kubernetes 
    git checkout -b remotes/origin/release-1.19.1 v1.19.0
    

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

    实操提示:kubernetes集群自签CA证书默认是10年期限,如果需要修改期限为20年,可修改这个文件的代码

    /root/kubeadm/tmp/kubernetes/staging/src/k8s.io/client-go/util/cert/cert.go 
    
    • 修改前:
    NotAfter: now.Add(duration365d * 10).UTC(), 
    
    • 修改后:
    NotAfter: now.Add(duration365d * 20).UTC(), 
    

    采用kubeadm安装kubernetes集群,证书期限由kubeadm组件负责,所以需修改该组件源码,修改内 容如下:

    vi /root/kubeadm/tmp/kubernetes/cmd/kubeadm/app/constants/constants.go 
    
    • 修改前:
    CertificateValidity = time.Hour * 24 * 365 
    
    • 修改后:
    CertificateValidity = time.Hour * 24 * 3650 # 代码末尾加一个0,也就是10 
    年,其他代码不要动,保存退出 
    
    • 编译kubeadm
    cd /root/kubeadm/tmp/kubernetes 
    make WHAT=cmd/kubeadm GOFLAGS=-v 
    cp _output/bin/kubeadm /root/kubeadm/ 
    

    实操提示:如果使用编译kubeadm组件安装k8s集群,k8s集群master证书是10年

    4、 k8s集群所有节点更新kubeadm

    备份旧kubeadm

    cp -rp /usr/bin/kubeadm /usr/bin/kubeadm.old 
    cp /root/kubeadm/kubeadm /usr/bin/kubeadm 
    

    5、更新master节点证书

    登录192.168.1.10主机
    备份旧证书

    cp -rp /etc/kubernetes/pki /etc/kubernetes/pki.old 
    cd /etc/kubernetes/pki 
    
    • 续签证书命令
    kubeadm alpha certs renew all --config=/root/kubeadm/kubeadm-config.yaml 
    
    • 续签成功,验证apiserver.crt证书有效期限
    openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout | grep Not 
    
    • 续签证书成功后,更新linux账号的kubectl配置,更新成功,可正常使用kubectl命令工具
    cp -f /etc/kubernetes/admin.conf $HOME/.kube/config 
    
    • 验证证书续签成功
    kubeadm alpha certs check-expiration 
    

    6、 继续按以下步骤续签另外两个master节点证书期限

    • 登录192.168.1.11、192.168.1.12主机
    • 更新kubeadm
    • 上传编译后的kubeadm到192.168.1.11:/root/kubeadm/kubeadm
    • 上传编译后的kubeadm到192.168.1.12:/root/kubeadm/kubeadm
    • 备份旧证书
    cp -rp /usr/bin/kubeadm /usr/bin/kubeadm.old 
    cp /root/kubeadm/kubeadm /usr/bin/kubeadm 
    cp -rp /etc/kubernetes/pki /etc/kubernetes/pki.old 
    cd /etc/kubernetes/pki 
    
    • 续签证书
    kubeadm alpha certs renew all --config=/root/kubeadm/kubeadm-config.yaml 
    
    • 续签成功,验证证书有效期限
    openssl x509 -in /etc/kubernetes/pki/apiserver.crt -text -noout | grep Not 
    openssl x509 -in /etc/kubernetes/pki/apiserver-etcd-client.crt -text -noout | 
    grep Not 
    openssl x509 -in /etc/kubernetes/pki/apiserver-kubelet-client.crt -text -noout 
    | grep Not 
    
    • 续签证书成功后,更新linux账号的kubectl配置,更新成功,可正常使用kubectl命令工具
    cp -f /etc/kubernetes/admin.conf $HOME/.kube/config 
    
    • 验证证书续签成功
    kubeadm alpha certs check-expiration 
    

    相关文章

      网友评论

        本文标题:一文学会kubernetes集群 master证书签约期限更新为

        本文链接:https://www.haomeiwen.com/subject/tqzzmltx.html