当我尝试将这些节点与 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