在node服务运行kubeadm init生成的kubeadm join报错

安装kubernetes集群

在master主服务器(ip:192.168.56.101)运行命令:

kubeadm init \
--image-repository registry.cn-hangzhou.aliyuncs.com/google_containers \
--pod-network-cidr=10.244.0.0/16

运行之后会在最底下生成一条kubeadm join 的命令

复制,在节点node服务器(ip:192.168.56.102)上运行这两行会报错:


error execution phase preflight: couldn't validate the identity of the API Server:
Get "https://10.0.2.15:6443/api/v1/namespaces/kube-public/configmaps/cluster-info?timeout=10s": dial tcp 10.0.2.15:6443: connect: connection refused
To see the stack trace of this error execute with --v=5 or higher

运行之后的报错中的https那一块生成出来的ip地址是10.0.2.15

在node服务器上ping这个ip也是可以ping通的,但是你的服务器ip和他自动生成的ip不一样

是因为master服务器里有两个网卡,我们关掉那个网卡就可以了

使用ifconfig 关闭网卡

ifconfig enp0s3 down    //关闭enp0s3网卡

ifconfig     //查看ip

ifconfig enp0s3 up     //开启enp0s3网卡

 关闭不需要的网卡之后重启一下服务器,然后还原kubeadm init 对主机所作的更改

在master服务器上执行命令:

kubeadm reset     //重置kubeamd init 和kubeadm join 对服务器所做的更改

kubeadm init --image-repository registry.cn-hangzhou.aliyuncs.com/google_containers --pod-network-cidr=10.244.0.0/16 --apiserver-advertise-address=192.168.56.101
//此处的192.168.56.101是我master服务器ip,把这个ip改成你自己服务器上的ip

执行完 kubeadm init命令会自动生成新的 kubeadm join命令,然后复制去node节点执行

在node节点上执行完之后可以回到master服务器查看是否成功

kubectl get nodes         //查看节点状态

有节点信息代表集群创建成功 

猜你喜欢

转载自blog.csdn.net/qq_62242833/article/details/124757455