k8s 主节点重启后 从节点 get 异常

如图所示,主节点重启后出现了这样的错误

1、重启主节点的所有服务

kubeadm安装

复制代码
sudo systemctl restart kubelet
sudo systemctl status kubelet
是 active (running),就说明没问题。

kubectl get pods -n kube-system
看到 apiserver、scheduler、controller-manager、etcd等 Pod 都处于 Running状态。之后,你的主节点 kubectl get nodes等命令就应该可以正常工作了。

2、原因

我是配置文件出问题了

3、处理

查看主节点文件

复制代码
ls /etc/kubernetes/admin.conf

将这个文件分发给从节点

复制代码
scp /etc/kubernetes/admin.conf root@192.168.125.103:~/

从节点 操作
ls -la ~/.kube/

mv ~/admin.conf ~/.kube/config



 chmod 600 ~/.kube/config

出现下面就OK了

第1步:在 Kubernetes 主节点(Master)上操作
  1. 登录到你的 Kubernetes 主节点服务器

  2. 找到集群的配置文件 。集群初始化后,默认的配置文件位于 /etc/kubernetes/admin.conf。这个文件包含了访问集群所需的所有信息(API Server地址、证书、密钥)。

    复制代码

    bash

    复制

    复制代码
    ls /etc/kubernetes/admin.conf

    你应该能看到这个文件。

  3. 使用 scp命令将配置文件安全复制到 k8s-node01节点

    • 你需要知道 k8s-node01节点的 IP 地址。

    • 执行以下命令,将 <k8s-node01-ip>替换为你节点的实际IP地址(例如 192.168.1.101)。

    复制代码

    bash

    复制

    复制代码
    scp /etc/kubernetes/admin.conf root@<k8s-node01-ip>:~/
    • 命令解释 ​:scp(secure copy) 会将主节点上的 /etc/kubernetes/admin.conf文件复制到 k8s-node01节点的 root 用户的家目录 (~/) 下。

    • 系统可能会提示你输入 k8s-node01节点的 root 密码。

第2步:回到 k8s-node01节点上操作

现在,配置文件已经复制到了 k8s-node01节点的 ~/(即 /root/)目录下,我们需要把它放到正确的位置并设置正确的权限。

  1. 创建 .kube目录

    首先,需要创建 kubectl默认会去寻找配置文件的目录。

    复制代码

    bash

    复制

    复制代码
    mkdir -p ~/.kube
  2. 将复制过来的配置文件移动到正确位置并重命名

    kubectl默认使用的配置文件是 ~/.kube/config

    复制代码

    bash

    复制

    复制代码
    mv ~/admin.conf ~/.kube/config
  3. 设置严格的文件权限(非常重要!)​

    该配置文件中包含敏感的认证密钥,必须限制为只有所有者可读。

    复制代码

    bash

    复制

    复制代码
    chmod 600 ~/.kube/config
第3步:验证配置

现在,所有配置已经完成。让我们来测试一下。

k8s-node01节点上执行:

复制代码

bash

复制

复制代码
kubectl get nodes

如果一切顺利,你现在应该能看到集群中所有节点的状态列表(包括 master 和 node01),而不是之前那个可怕的 connection refused错误。

相关推荐
呱呱巨基13 分钟前
vim编辑器
linux·笔记·学习·编辑器·vim
竹等寒1 小时前
Linux-网络安全私房菜(二)
linux·服务器·web安全
YuCaiH1 小时前
Linux文件处理
linux·笔记·嵌入式
早睡冠军候选人1 小时前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
sulikey1 小时前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
疯狂吧小飞牛1 小时前
ip rule 策略路由
linux·网络·tcp/ip·运维开发
缘友一世1 小时前
深入理解Shell与反弹Shell:从原理到实战
linux·网络安全·shell
stark张宇2 小时前
网络排错全流程:从DNS解析到防火墙,逐层拆解常见问题
linux·网络协议·dns
li3714908902 小时前
nginx报400bad request 请求头过大异常处理
java·运维·nginx
久曲健的测试窝3 小时前
Jenkins Share Library教程 —— 开发入门
运维·servlet·jenkins