Kubernetes cni config неинициализирован
Я устанавливаю kubernetes(kubeadm) на Centos VM, работающий внутри Virtualbox
так что с ням я установил kubeadm, kubelet
а также docker
,
Теперь при попытке настроить кластер с kubeadm init --pod-network-cidr=192.168.56.0/24 --apiserver-advertise-address=192.168.56.33/32
я сталкиваюсь со следующей ошибкой:
Unable to update cni config: No networks found in /etc/cni/net.d
Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized
Итак, я проверил, нет cni
папка в /etc
даже то, что kubernetes-cni-0.6.0-0.x86_64
установлено. Я пробовал комментировать KUBELET_NETWORK_ARGS
в /etc/systemd/system/kubelet.service.d/10-kubeadm.conf
но это не сработало.
PS:
Я устанавливаю за прокси.
У меня есть несколько сетевых адаптеров:
NAT: 10.0.2.15/24 для Интернета
Только хост: 192.168.56.33/32
И интерфейс докера: 172.17.0.1/16
Версия докера: 17.12.1-ce
kubectl версия: Major: "1", Minor: "9", GitVersion: "v1.9.3"
Centos 7
4 ответа
Это была ошибка прокси, как упоминалось в Github
https://github.com/kubernetes/kubernetes/issues/34695
Они предложили использовать kubeadm init --use-kubernetes-version v1.4.1
но я полностью изменяю свою сеть (без прокси) и мне удается настроить мой кластер.
И, как упоминал ранее @Radek, настройка сети под kubectl apply -f ....
пришел после инициализации кластера.
Кажется, отсутствует изображение докера.
проверьте, загружены ли изображения на ваши машины (ВМ)
docker image list
или же kubeadm config images list
ожидаемое изображение: quay.io/coreos/flannel v0.10.0-amd64
,
Пожалуйста, обратитесь к официальному документу для большего количества изображений, необходимых
Если изображение отсутствует, пожалуйста, загрузите его вручную.
docker pull quay.io/coreos/flannel:v0.10.0-amd64
для большего количества изображений: kubeadm config images pull
Затем перезагрузите
reason:NetworkPluginNotReady
- вам нужно установить сетевое решение в подготовленный кластер kubeadm, прежде чем что-либо еще может запуститься.
Использование kubeadm для создания кластера - Установка сети pod | Kubernetes
ни одно из вышеперечисленных решений мне не помогло. Я обнаружил, что на моем сервере нет маршрута по умолчанию!
# route -n
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp9s0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
поэтому я добавил шлюз по умолчанию с помощью следующей команды:
# route add default gw 19.168.1.1
# route -n
0.0.0.0 192.168.1.1 0.0.0.0 UG 600 0 0 wlp9s0
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 wlp9s0
172.17.0.0 0.0.0.0 255.255.0.0 U 0 0 0 docker0
прямо сейчасiptables
работает отлично