zoukankan      html  css  js  c++  java
  • kubeadm替换证书

    替换原有的kubeadm的原始的1年的ca证书
    --思路,重新编译kubernetes,使用kubeadm重新生成证书
    1.查看kubeadm的版本

    kubeadm alpha certs check-expiration
    

    2.下载kubernetes的源码

    git clone https://github.com/kubernetes/kubernetes.git
    

    3.切换到对应的版本分支

    查看具体的版本
    kubectl get no  #我这里时1.16.2的
    
    切换
    git checkout -b test v1.16.2
    
    

    4.修改kubernetes自带的kubeadm的过期时间

    cd $k8s-dir
    
    vim cmd/kubeadm/app/constants/constants.go  #找到CertificateValidity ,修改如下
         CertificateValidity = time.Hour * 24 * 365 * 100 #后面加上* 100
    
    

    5.配置go环境 --根据K8S版本不同。需要的go环境也不一样,根据实际情况

    wget https://studygolang.com/dl/golang/go1.12.4.linux-amd64.tar.gz
    tar zxvf go1.11.2.linux-amd64.tar.gz  -C /usr/local
    
    

    6.配置go环境

    vim /etc/profile
    export GOROOT=/usr/local/go
    export GOPATH=/usr/local/gopath
    export PATH=$PATH:$GOROOT/bin
    
    source /etc/profile
    
    go version #验证
    

    7.重新编译

    cd $K8S-dir
    make WHAT=cmd/kubeadm  #保持网络畅通
    

    8.成功后出现_output文件夹

    ls  _output/bin/
    
    conversion-gen  deepcopy-gen  defaulter-gen  go2make  go-bindata  kubeadm  openapi-gen
    

    9.保持现有kubeadm和证书相关

    cp /usr/bin/kubeadm{,.bak}
    cp -r /etc/kubernetes/pki{,.bak}
    

    10.替换新的kubeadm

    cp _output/bin/kubeadm /usr/bin/kubeadm
    

    11.生成新的证书

    cd /etc/kubernetes/pki
    kubeadm alpha certs renew all  #此时查看证书,都已经时最新的证书了
    

    12.验证结果

    13.验证集群是否正常-如不正常,恢复备份.bak

  • 相关阅读:
    清空
    从一个例子看现代C++的威力
    C++11实现一个自动注册的工厂
    REST RPC架构思想
    thinking in object pool
    worksteal thread pool
    check member function
    C# string 常用功能的方法扩展
    C#设计模式总结
    JAVA过滤器和拦截器的区别
  • 原文地址:https://www.cnblogs.com/dinghc/p/14919628.html
Copyright © 2011-2022 走看看