zoukankan      html  css  js  c++  java
  • kubelet证书过期解决方法

    昨天收到报警短信:集群中某node状态为notReady,由于是长期不用的,所以放到今天才有空处理,以下记录处理过程。

    查看kubelet日志,发现不停的打印证书过期相关提示信息。

    以下操作基于kubernetes集群版本:v1.6.6

    kubelete 证书默认有效期一年

    1.查看证书有效期,这里使用以前下载的cfssl-certinfo

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

      显示内容如下:

    {
      "subject": {
        "common_name": "test@1505813004",
        "names": [
          "test@1505813004"
        ]
      },
      "issuer": {
        "common_name": "test@1505813004",
        "names": [
          "test@1505813004"
        ]
      },
      "serial_number": "1",
      "sans": [
        "test"
      ],
      "not_before": "2017-10-24T09:23:24Z",
      "not_after": "2018-10-24T09:23:24Z",   
      "sigalg": "SHA256WithRSA",
      "authority_key_id": "",
      "subject_key_id": "",
      "pem": "-----BEGIN CERTIFICATE-----
    MIIDDKDK........EHi
    ThGfI/wURC0=
    -----END CERTIFICATE-----
    "
    }
    

    2. 重新生成证书

    在证书过期node删除kubelet相关证书文件及配置文件然后重启kubelet,
    kubelet会向apiserver发起一个csr
    rm  /etc/kubernetes/kubelet.kubeconfig
    rm  /etc/kubernetes/ssl/kubelet.*
    systemctl  restart kubelet
    systemctl  status  kubelet
    
    
    //查看未授权的CSR请求:
    kubectl get csr
    //approve CSR 请求: kubectl certificate approve csr-4pw6g NAME AGE REQUESTOR CONDITION csr-4pw6g 1h kubelet-bootstrap Approved,Issued

    3. 重启kubelet

    //重启kubelet
    systemctl  restart kubelet
    
    //查看node状态
    kubectl get no
    NAME       STATUS    AGE       VERSION
    external   Ready     1y        v1.6.6
    

    4. 另:在kubernetes1.7之后,可以采用集群自动签发证书方案,但仍然需要手动重启kubelet, 在1.8之后,就可以自动签发,自动renew证书;也可以设置更长的有效期。后继再添加整理相关内容。

     
  • 相关阅读:
    premake Ubuntu下的安装
    android设置eclipse中的自动提示功能
    SharePoint 2013的100个新功能之搜索(二)
    poj 4014 Dice 贪心
    代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
    Android 英文文档下载地址
    winform网络编程之TcpClient类,TcpListener类和UdpClient类
    Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)
    const对象默觉得文件的局部变量
    springmvc自己定义拦截器
  • 原文地址:https://www.cnblogs.com/rootid/p/9850713.html
Copyright © 2011-2022 走看看