Rancher升级故障后无法访问K8S集群,如何绕过Rancher直接连接集群
直接连接Rancher管理集群的操作方案
前置条件
已通过SSH登录管理集群的节点,拥有节点root或sudo权限。
步骤1:获取本地管理员kubeconfig
根据你部署管理集群的类型,选择对应操作:
- RKE部署的管理集群
本地默认存放管理员kubeconfig的路径为/etc/kubernetes/ssl/kubecfg-kube-admin.yaml,执行以下命令配置环境变量:export KUBECONFIG=/etc/kubernetes/ssl/kubecfg-kube-admin.yaml - RKE2部署的管理集群
本地默认存放管理员kubeconfig的路径为/etc/rancher/rke2/rke2.yaml,执行以下命令配置环境变量:export KUBECONFIG=/etc/rancher/rke2/rke2.yaml - K3s部署的管理集群
本地默认存放管理员kubeconfig的路径为/etc/rancher/k3s/k3s.yaml,执行以下命令配置环境变量:export KUBECONFIG=/etc/rancher/k3s/k3s.yaml - Docker单节点部署的Rancher(无独立底层K8s集群)
直接进入Rancher运行容器即可直接使用kubectl/helm工具,执行命令:
容器内置了kubeconfig配置,进入后可直接执行集群操作命令。docker exec -it $(docker ps | grep "rancher/rancher" | grep -v "pause" | awk '{print $1}') bash
步骤2:验证集群访问权限
执行以下命令验证集群连通性:
kubectl get nodes
能正常返回集群节点信息即代表连接成功,可直接执行helm list -n cattle-system查看Rancher的helm release状态,进行后续修复操作。
下游生产集群临时访问方案
如果需要紧急操作下游生产集群,可直接SSH登录下游集群的任意控制平面节点,使用上述相同的方法获取下游集群本地kubeconfig,即可直接连接操作下游集群,无需依赖Rancher server。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

