zoukankan      html  css  js  c++  java
  • kubernetes kubelet证书到期解决办法

    问题说明

    kubelet证书默认有效期是一年,这样一年之后我们的node节点就会处于not ready的状态,为了避免这个问题就需要想一个解决方案。

    curl -s -L -o /bin/cfssl-certinfo https://pkg.cfssl.org/R1.2/cfssl-certinfo_linux-amd64
    chmod a+x /bin/cfssl-certinfo
     cfssl-certinfo -cert /etc/kubernetes/ssl/kubelet.crt
    

    解决方案

    证书替换

    使用admin证书替换kubelet证书。

    备份 mkdir  ~/sslback && mv /etc/kubernetes/kubelet.kubeconfig  ~/sslback/
    使用admin证书文件替换
    cp ~/.kube/config /etc/kubernetes/kubelet.kubeconfig 
    systemctl  restart kubelet && systemctl  status  kubelet
    

    重新请求证书

    手动签发,在 kubelet 首次启动后,如果用户 Token 没问题,并且 RBAC 也做了相应的设置,那么此时在集群内应该能看到 kubelet 发起的 CSR 请求 ,必须通过后kubernetes 系统才会将该 Node 加入到集群。

    在证书过期node删除kubelet相关证书文件
    rm -rf /etc/kubernetes/kubelet.kubeconfig
    rm -rf /etc/kubernetes/ssl/kubelet.*
    systemctl  restart kubelet && systemctl  status  kubelet
    自动生成了kubelet kubeconfig 文件和公私钥
    查看未授权的CSR请求
    kubectl get csr
    通过CSR 请求:
    kubectl certificate approve csr
    查看重新生成的证书文件
    ll /etc/kubernetes/ssl/kubelet.*
    kubectl  get nodes --show-labels
    
  • 相关阅读:
    (14) go 结构体
    (13) go map
    (12) go make初始化
    (11)go 数组和切片
    (10) go 错误
    (9) go 时间日期
    (8)go 字符串
    (7) go 函数
    (6) go 流程控制
    (5) go 格式化输入输出 类型转换
  • 原文地址:https://www.cnblogs.com/chenxiba/p/12354694.html
Copyright © 2011-2022 走看看