栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

k8s证书过期导致的“血案”

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

k8s证书过期导致的“血案”

一、问题描述

环境:Rancher 2.4.7(单机)、Kubernetes 1.18.6(kubeadm安装),Rancher使用import方式管理k8s集群;

k8s节点描述:master(1)、node(6)、etcd(1)

问题:k8s集群证书默认有效期为一年,过期后重新生成证书,但Rancher管理证书未变更导致Rancher不能发布应用、升级应用等;

二、"入坑"

1、k8s证书过期导致的问题:Rancher 登陆后发现集群不可用,排查发现证书过期

[root@k8s-master pki]# openssl x509 -in apiserver.crt -noout -text |grep ' Not ' 
     Not Before: Sep 29 09:19:10 2020 GMT 
     Not After : Sep 29 09:19:10 2021 GMT
Unable to authenticate the request due to an error: [invalid bearer to...not

2、使用《k8s更新证书》方法更新证书后,Rancher可以看到k8s集群中的项目、应用,但发现升级应用时不处理、查看Rancher后台日志发现证书过期不可用; 后经查询发现修改k8s后同时也需要修改Rancher的证书,可是这个证书是在导入集群时生成的,没有找到修改证书的地方;

《导入 k8s 集群更新 CA 证书后 Rancher 端的配置操作 | IT老男孩》找到此链接问题相同,按步骤操作;

注意:此时坑来了!!!

此文章中提示备份Rancher的Etcd,并没有备份k8s集群的Etcd,也可能他执行操作时K8s集群未发生问题,此处要注意如果是外置k8s集群,此时一定要备份k8s集群的etcd,这样会给后面更新失败提供恢复的数据;

在执行下面操作时:删除cattle-cluster-xxx、cattle-agent-xxx有节点的一直处于Terminating状态删除不掉导致后续新的节点一直生成不出来

kubeconfig=xxx.yaml kubectl --kubeconfig=${kubeconfig} -n cattle-system get pod | grep -v 'NAME' | awk '{print $1}' | xargs kubectl --kubeconfig=${kubeconfig} -n cattle-system delete pod

处理办法:重启Master 节点docker、kubelet后重新创建,新的cattle-cluster-xxx、cattle-agent-xxx被创建出来;

systemctl daemon-reload 
systemctl restart docker 
systemctl restart kubelet

此时按上面的文章可以继续操作后面可能会成功完成更新; 但是没有重启就已经将原有的集群删除,并且重新导入,生成新的attle-cluster-xxx、cattle-agent-xxx、attle-token-xxx恢复原有的Rancher备份Etcd也不能挽救,只能继续找办法;

3、重新操作Rancher导入k8s集群后在Rancher 里显示新的集群成功,但是project数据丢失,对应的用户与project的数据也已经丢失,本想用原有的etcd数据进行恢复,但是不道怎么连接Rancher中的etcd数据库

此时使用kubectl get pods 登陆在 master 节点上查询时,集群内pods还是存在的

[root@k8s-master ~]# kubectl get pods -A default postgresql-8c76697db-zdrdk 1/1 Running 1 21d

此时重新创建project、并将原有对应的命名空间移动到指定的project下,服务基本恢复,只要用户与新创建的project 重新分配对应权限即可;

三、注意

1、部分命名空间在Rancher中是不允许移动的,如:cattle-logging、kube-system

2、期间还看了,RancherLab里的“误删节点或集群怎么办?这里有一颗后悔药”文章,因为不是RKE安装恢复也不太可能;后放弃使用此方法如有小伙伴使用RKE安装可尝试使用此方法https://mp.weixin.qq.com/s/XDgo-3cPbNTB8GvKn5ZptA

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/305705.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号