Каждый узел показывает эту ошибку, пока я пытался соединить эти узлы с мастером 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=...`
Если вы получаете следующую ошибку, потому что вы уже выполнили команду соединения на своих узлах. Он создал ваш файл /etc/kubernetes/pki/ca.crt, даже если ваш узел не смог присоединиться.
Чтобы избавиться от этой ошибки, выполните команду «kubeadm reset» на своем узле и выполните команду затем снова присоединитесь. Это приведет к сбросу вашей кластерной среды, а затем, когда вы попытаетесь снова присоединить узел к кластеру, он снова создаст все файлы.
Эта ошибка возникает, если вы запустите 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
. :)
Попробуйте использовать подход @kvaps, опубликованный на github
Проблема в обмене, просто введите эту команду и снова присоединитесь к своему узлу.
sudo su
swapoff -a