使用 kubeadm 初始化 kubernetes 1.12.0 falied:node "xxx" 未找到

Using kubeadm to init kubernetes 1.12.0 falied:node "xxx" not found

我的环境:

CentOS7 linux

/etc/hosts:

192.168.0.106 master01

192.168.0.107 node02

192.168.0.108 node01

在 master01 机器上:

/etc/hostname:

master01

在master01机器上我执行如下命令:

1)yum 安装docker-ce kubelet kubeadm kubectl

2)systemctl 启动docker.service

3)vim/etc/sysconfig/kubelet

编辑文件:

KUBELET_EXTRA_ARGS="--fail-swap-on=false"

4)systemctl 启用 docker kubelet

5)kubeadm init --kubernetes-version=v1.12.0 --pod-network-cidr=10.244.0.0/16 servicecidr=10.96.0.0/12 --ignore-preflight-errors=all

然后

第一条错误信息:

无法加载客户端 CA 文件/etc/kubernetes/pki/ca.crt:打开/etc/kubernetes/pki/ca.crt:没有那个文件或目录

kubelet.go:2236] 未找到节点 "master01"

kubelet_node_status.go:70] 正在尝试注册节点 master01 10 月 2 23:32:35 master01 kubelet:E1002 23:32:35.974275 49157

kubelet_node_status.go:92] 无法向 API 服务器注册节点 "master01":Post https://192.168.0.106:6443/api/v1/nodes:拨打 tcp 192.168.0.106:6443:连接: 连接被拒绝

我不知道为什么找不到节点 master01?

我试了很多方法都不能解决问题

谢谢!

您的问题也可能是由防火墙规则引起的,限制了 6443 端口的 tcp 连接。 所以你可以暂时关闭主节点上的防火墙来验证这一点:

systemctl stop firewalld

然后尝试再次执行 kubeadm init。 希望对你有帮助。

我不确定问题是否总是与防火墙规则有关。

考虑以下步骤:

1 ) 尝试解决与以下相关的错误:/etc/kubernetes/pki/ca.crt
运行 kubeadm init 再次没有 --ignore-preflight-errors=all 并查看 [certs] 阶段中的所有操作是否都发生了 - 例如:

[certs] Using certificateDir folder "/etc/kubernetes/pki"
[certs] Generating "ca" certificate and key
[certs] Generating "apiserver" certificate and key
.
.

2 ) 尝试 运行 re-installing kubeadm 或 运行 kubeadm init 与其他版本(使用 --kubernetes-version=X.Y.Z 标志)。

3 ) 尝试用 systemctl restart kubelet.

重启 kubelet

4 ) 检查docker版本是否需要更新

5 ) 打开所需的特定端口(如果您决定停止 firewalld,请记住在解决问题后立即启动它)。