k8s-v1150-秘钥过期保留部署重建集群

38次阅读

共计 582 个字符,预计需要花费 2 分钟才能阅读完成。

  • 症状
    kubectl 命令报错证书过期,无法新部署或者修改应用,运行中的应用状态正常。
root@master:~# kubectl get po
Unable to connect to server: x509: certificate has expired or is not yet valid   
  • 问题
    kubeadm 自建证书有效期只有一年,可用下面命令查看,证书过期时间
root@master:~# openssl x509 -in /etc/kubernetes/pki/apiserver.crt  -noout -text  |grep Not
Not Before: Jun 14 08:37:50 2019 GMT
Not After : Mar  5 02:50:42 2021 GMT
  • 解决( 注:生产环境慎用,操作前先备份数据,避免造成灾难性损失
  1. 使用 kubeadm alpha phase certs 系令,重新生成证书,网上有很多文章(未验证)

    在主节点上执行命令重新生成证书后,会导致集群不可用,所有应用都不可访问,由于需要快速恢复应用,放弃了后续操作

  2. 保存 ETCD 数据,用 kubeadm 重建集群,快速恢复应用

    备份数据 ,删除 etcd /registry/secrets/kube-system/ 所有 keys(不删除会导致新集群无法正常启动),用 kubeadm init 创建新集群,应用中配置过 apiserver 的证书也需要更新,最后测试应用是否正常

正文完
 0