使用 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,请记住在解决问题后立即启动它)。
我的环境:
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
.
4 ) 检查docker版本是否需要更新
5 ) 打开所需的特定端口(如果您决定停止 firewalld,请记住在解决问题后立即启动它)。