Назад | Перейти на главную страницу

Я попытался присоединиться к узлам кубернетов с мастером, но он показывает ошибки на всех трех узлах. показано на рис.

Каждый узел показывает эту ошибку, пока я пытался соединить эти узлы с мастером 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