我尝试将 Kubernetes 节点与主节点连接起来,但所有 3 个节点都显示错误。如图所示

我尝试将 Kubernetes 节点与主节点连接起来,但所有 3 个节点都显示错误。如图所示

当我尝试将这些节点与 Kubernetes 主节点连接时,每个节点都显示此错误。有什么建议吗?

[root@kube-node1 ~]#  kubeadm join 10.0.0.50:6443 --token xtalee.aftgxumqvtjtcq56 --discovery-token-ca-cert-hash sha256:d0f97b9d53be798a6ab871a2fd8271ee6461b9fd6fdc6350eb89ebee98629ac6
[preflight] running pre-flight checks
        [WARNING RequiredIPVSKernelModulesAvailable]: the IPVS proxier will not be used, because the following required kernel modules are not loaded: [ip_vs_sh ip_vs ip_vs_rr ip_vs_wrr] or no builtin kernel ipvs support: map[ip_vs_rr:{} ip_vs_wrr:{} ip_vs_sh:{} nf_conntrack_ipv4:{} ip_vs:{}]
you can solve this problem with following methods:
 1. Run 'modprobe -- ' to load missing kernel modules;
2. Provide the missing builtin kernel ipvs support

[preflight] Some fatal errors occurred:
        [ERROR FileAvailable--etc-kubernetes-bootstrap-kubelet.conf]: /etc/kubernetes/bootstrap-kubelet.conf already exists
        [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables contents are not set to 1
        [ERROR Swap]: running with swap on is not supported. Please disable swap
        [ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`

答案1

如果您收到以下错误,因为您已经在节点上执行了加入命令。即使您的节点加入失败,它也会创建您的 /etc/kubernetes/pki/ca.crt 文件。

要消除此错误,请在节点上执行“kubeadm reset”命令,然后再次执行 join 命令。这将重置您的集群环境,然后当您尝试再次将节点加入集群时,它将再次创建所有文件。

答案2

kubeadm init如果您运行然后尝试加入,则会发生此错误,因为 kubeadm 创建了这些文件。特别是如果您运行的是新的集群主服务器kubeadm init

您可能仍需要执行kubeadm join,在这种情况下,您会遇到这种情况。这是记录作为一个问题。K8S 文档指出您可以忽略这些错误。

正如我在那里提到的,您应该将以下内容添加到您的连接命令中:

--ignore-preflight-errors='DirAvailable--etc-kubernetes-manifests,FileAvailable--etc-kubernetes-kubelet.conf,Port-10250,FileAvailable--etc-kubernetes-pki-ca.crt'

您可以看到我制作的一个工作示例,运行K8S v1.14.3 这里

另外,您应该禁用交换,这将解决“错误交换”错误(示例这里):

dphys-swapfile swapoff && dphys-swapfile uninstall && update-rc.d dphys-swapfile remove

希望这可以帮助。

编辑:请注意,如果这些是集群的全新节点,则在kubeadm join删除任何节点之前,我总是运行:

kubeadm reset --force

注意:在执行kubeadm init. 后,请不要在您的主机上执行此操作 ^^ (重置) :)

答案3

尝试使用 @kvaps 方法发布于github

答案4

问题出在交换上,只需输入此命令并重新加入你的节点

sudo su
swapoff -a

相关内容