• Kubernetes集群证书过期解决办法


    问题现象

    K8S集群证书过期后,会导无法创建Pod,通过kubectl get nodes也无法获取信息,甚至dashboard也无法访问。

    一、确认K8S证书过期时间

    查看k8s某一证书过期时间:

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

    显示如下,通过下面可看到证书有效期是1年,从2021到2022年:

    其它证书同理,K8s各个证书过期时间如下:

    /etc/kubernetes/pki/apiserver.crt           #1年有效期
    /etc/kubernetes/pki/front-proxy-ca.crt        #10年有效期
    /etc/kubernetes/pki/ca.crt              #10年有效期
    /etc/kubernetes/pki/apiserver-etcd-client.crt    #1年有效期
    /etc/kubernetes/pki/front-proxy-client.crt      #1年有效期
    /etc/kubernetes/pki/etcd/server.crt         #1年有效期
    /etc/kubernetes/pki/etcd/ca.crt           #10年有效期
    /etc/kubernetes/pki/etcd/peer.crt          #1年有效期
    /etc/kubernetes/pki/etcd/healthcheck-client.crt  #1年有效期
    /etc/kubernetes/pki/apiserver-kubelet-client.crt  #1年有效期
    

    或使用统一命令查看

    kubeadm alpha certs check-expiration
    

    二、使用延长证书过期的方法解决K8S证书过期问题

    K8S在过期之前,使用kubeadm alpha phase里的certs和kubeconfig命令,同时配合kubelet证书自动轮换机制来解决这个问题(具体操作可以百度搜索),这里介绍证书已经过期的解决方法,以下延长证书过期的方法适合kubernetes1.14、1.15、1.16、1.17、1.18版本。操作步骤如下:

    2.1 下载update-kubeadm-cert.sh

    百度网盘下载:
    链接:https://pan.baidu.com/s/1WyVAwyL3mOGVFgpQ2tomCw
    提取码:f6sa

    2.2 把update-kubeadm-cert.sh文件上传到k8s各节点任意位置

    2.3 在每个节点都执行如下命令

    1)给update-kubeadm-cert.sh证书授权可执行权限

    chmod +x update-kubeadm-cert.sh
    

    2)执行下面命令,修改证书过期时间,把时间延长到10年

    ./update-kubeadm-cert.sh all
    

    3)在master节点查询Pod是否正常,能查询出数据说明证书签发完成

    注:执行命令时需要断开连接重新连接命令才生效

    kubectl  get pods -n kube-system
    

    显示如下,能够看到pod信息,说明证书签发正常:

    4)重启kubelet

    systemctl restart kubelet
    

    三、验证证书有效时间是否延长到10年

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

    显示如下,通过下面可看到apiserver证书有效期是10年,从2021到2031年:

    其它证书同理进行验证,或使用统一查看命令

    kubeadm alpha certs check-expiration
    

    (转发请注明出处:http://www.cnblogs.com/zhangyongli2011/ 如发现有错,请留言,谢谢)

  • 相关阅读:
    李时珍的皮肤衣【快速幂】
    ClickHouse深度解析
    Hadoop&HDFS知识点整理
    实时日志数据写入Clickhouse
    Kafka consumer Job异常重置offset
    Flink WaterMark原理与实现
    Spark定期合并Hive表小文件
    Flink 1.11 Table & SQL深度解读
    Docker 安装Elasticsearch、Kibana实战——避免踩坑
    Flink 异步IO实践
  • 原文地址:https://www.cnblogs.com/zhangyongli2011/p/15156099.html
Copyright © 2020-2023  润新知