在现有集群中加入工作程序节点时遇到一些问题。 请在下面找到我的情况的详细信息 我创建了具有4个主节点和3个工作节点的HA群集。 我删除了1个主节点。被删除的节点现在不是集群的一部分,并且重置成功。 现在将已删除的节点作为工作节点加入现有集群中。
我在命令下射击
kubeadm join --token giify2.4i6n2jmc7v50c8st 192.168.230.207:6443 --discovery-token-ca-cert-hash sha256:dd431e6e19db45672add3ab0f0b711da29f1894231dbeb10d823ad833b2f6e1b 在上面的命令中-192.168.230.207是群集IP
上述命令的结果
[preflight]运行飞行前检查 [WARNING Service-Docker]:未启用docker服务,请运行'systemctl enable docker.service' [警告IsDockerSystemdCheck]:检测到“ cgroupfs”作为Docker cgroup驱动程序。推荐的驱动程序是“ systemd”。请遵循https://kubernetes.io/docs/setup/cri/上的指南 [WARNING FileExisting-tc]:在系统路径中找不到tc [WARNING Service-Kubelet]:未启用kubelet服务,请运行'systemctl enable kubelet.service' [预检]正在从集群读取配置... 仅供参考:您可以使用'kubectl -n kube-system get cm kubeadm-config -oyaml'查看此配置文件 错误执行阶段预检:无法获取kubeadm-config ConfigMap:无法获取配置图:获取https://192.168.230.206:6443/api/v1/namespaces/kube-system/configmaps/kubeadm-config:拨打tcp 192.168.230.206:6443:connect:连接被拒绝
已经尝试过的步骤 1.使用kubeadm修补程序将此文件(kubectl -n kube-system获取cm kubeadm-config -oyaml)并删除已删除节点的引用(“ 192.168.230.206”) 2.我们正在使用外部etcd,因此检查成员列表以确认已删除的节点现在不属于etcd。 etcdctl --endpoints = https://cluster-ip --ca-file = / etc / etcd / pki / ca.pem --cert-file = / etc / etcd / pki / client.pem --key-file = / etc /etcd/pki/client-key.pem成员列表
由于我无法加入此节点,有人可以帮我解决此问题吗?
答案 0 :(得分:0)
解决这些问题并运行加入命令
docker服务未启用,请运行'systemctl enable docker.service'
将“ cgroupfs”检测为Docker cgroup驱动程序。推荐的驱动程序是“ systemd”。
未启用kubelet服务,请运行'systemctl enable kubelet.service
答案 1 :(得分:0)
除了@P Ekambaram答案之外,我还假定您可能已经完全处置了先前kubeadm join
设置中的所有冗余数据。
通过工作节点:kubeadm
上的kubeadm reset
命令删除群集条目;
擦除工作节点上所有驻留的冗余数据:rm -rf /etc/kubernetes; rm -rf ~/.kube
;
尝试重新加入工作程序节点。
答案 2 :(得分:0)
一个接一个地使用这些说明来完全删除工作节点上的所有旧安装.....
kubeadm reset
systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/
rm -rf /var/lib/kubelet/*
rm -rf /etc/cni/
ifconfig cni0 down
ifconfig flannel.1 down
ifconfig docker0 down
ip link delete cni0
ip link delete flannel.1
systemctl start docker.service
yum remove kubeadm kubectl kubelet kubernetes-cni kube*
yum autoremove
rm -rf ~/.kube
然后使用重新安装
yum install -y kubelet kubeadm kubectl
reboot
systemctl start docker && systemctl enable docker
systemctl start kubelet && systemctl enable kubelet
然后使用kubeadm连接命令
答案 3 :(得分:0)
kubeadm join
尝试访问 192.168.230.206,而新 IP 为 192.168.230.207。
除了在 cm kubeadm-config 中更改之外,您还可以在此 configmap 中更改您的集群 IP 地址(cluster.server)
kubectl edit cm -n kube-public cluster-info