zoukankan      html  css  js  c++  java
  • k8s更新证书记录

    手动更新证书
    由 kubeadm 生成的客户端证书默认只有一年有效期,我们可以通过 check-expiration 命令来检查证书是否过期:

    kubeadm alpha certs check-expiration
    

    备份原来的证书

    mkdir /etc/kubernetes.bak
    cp -r /etc/kubernetes/pki/ /etc/kubernetes.bak
    cp /etc/kubernetes/*.conf /etc/kubernetes.bak
    

    备份 etcd 数据目录:

    cp -r /var/lib/etcd /var/lib/etcd.bak
    

    接下来执行更新证书的命令:

    kubeadm alpha certs renew all --config=kubeadm.yaml
    kubeadm alpha certs renew all --config=kubeadm.yaml
    certificate embedded in the kubeconfig file for the admin to use and for kubeadm itself renewed
    certificate for serving the Kubernetes API renewed
    certificate the apiserver uses to access etcd renewed
    certificate for the API server to connect to kubelet renewed
    certificate embedded in the kubeconfig file for the controller manager to use renewed
    certificate for liveness probes to healthcheck etcd renewed
    certificate for etcd nodes to communicate with each other renewed
    certificate for serving etcd renewed
    certificate for the front proxy client renewed
    certificate embedded in the kubeconfig file for the scheduler manager to use renewed
    

    通过上面的命令证书就一键更新完成了,这个时候查看上面的证书可以看到过期时间已经是一年后的时间了:

    kubeadm alpha certs check-expiration
    

    然后记得更新下 kubeconfig 文件:

    kubeadm init phase kubeconfig all --config kubeadm.yaml
    [kubeconfig] Using kubeconfig folder "/etc/kubernetes"
    [kubeconfig] Using existing kubeconfig file: "/etc/kubernetes/admin.conf"
    [kubeconfig] Using existing kubeconfig file: "/etc/kubernetes/kubelet.conf"
    [kubeconfig] Using existing kubeconfig file: "/etc/kubernetes/controller-manager.conf"
    [kubeconfig] Using existing kubeconfig file: "/etc/kubernetes/scheduler.conf"
    

    将新生成的 admin 配置文件覆盖掉原本的 admin 文件:

    mv $HOME/.kube/config $HOME/.kube/config.old
    cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
    chown $(id -u):$(id -g) $HOME/.kube/config
    

    在三台Master上执行重启kube-apiserver、kube-controller、kube-scheduler、etcd这4个容器,以便使证书生效。

    docker ps |grep -E 'k8s_kube-apiserver|k8s_kube-controller-manager|k8s_kube-scheduler|k8s_etcd_etcd' | awk -F ' ' '{print $1}' |xargs docker restart
    
  • 相关阅读:
    【UWP】使用Action代替Command
    【UWP】在不同类库使用ResourceDictionaries
    【UWP】不通过异常判断文件是否存在
    【UWP】批量修改图标尺寸
    【UWP】FlipView绑定ItemsSource,Selectedindex的问题
    【UWP】UI适配整理
    【iOS】Object-C注释
    【iOS】desctiption和debugDescription
    【iOS】关联属性存取数据
    【iOS】配置和使用静态库
  • 原文地址:https://www.cnblogs.com/fsckzy/p/14973707.html
Copyright © 2011-2022 走看看