Nginx Kubernetes POD остается в ContainerCreating - PullRequest
0 голосов
/ 31 января 2020

Мне удалось настроить кластер Kubernetes на Centos7 с одним главным и двумя рабочими узлами, однако, когда я пытаюсь развернуть модуль с nginx, состояние модуля остается в ContainerRunning навсегда и, похоже, не меняется из него.

Для под-сети я использую миткаль. Можете ли вы помочь мне решить эту проблему? по какой-то причине я не чувствую себя удовлетворенным, продвигаясь вперед без решения этой проблемы, я пытался проверить форумы и c, так как последние два дня это последнее средство, к которому я обращаюсь.

[root@kube-master ~]# kubectl get pods --all-namespaces
[get pods result][1]

Однако, когда я запускаю описывающие модули, я вижу следующую ошибку для контейнера nginx в разделе событий.

Warning  FailedCreatePodSandBox  41s (x8 over 11m)     kubelet,
kube-worker1  (combined from similar events): Failed to create pod
sandbox: rpc error: code = Unknown desc = failed to set up sandbox
container
"ac77a42270009cba0c508e2fd82a84d6caef287bdb117d288d5193960b52abcb"
network for pod "nginx-6db489d4b7-2r4d2": networkPlugin cni failed to
set up pod "nginx-6db489d4b7-2r4d2_default" network: unable to connect
to Cilium daemon: failed to create cilium agent client after 30.000000
seconds timeout: Get http:///var/run/cilium/cilium.sock/v1/config:
dial unix /var/run/cilium/cilium.sock: connect: no such file or
directory

Надеюсь, что вы можете помочь здесь.

Редактировать 1:

IP-адрес главной виртуальной машины: 192.168.40.133

. Для инициализации kubeadm использовалась приведенная ниже команда: kubeadm init --pod-network-cidr=192.168.0.0/16 --apiserver-advertise-address 192.168.40.133

Использовала приведенную ниже команду для установки сети pod: kubectl apply -f https://docs.projectcalico.org/v3.11/manifests/calico.yaml

Приведенный выше kubeadm init дал мне команду соединения, которую я использовал для объединения рабочих в кластер.

Все виртуальные машины подключены к хосту и мостовые сетевые адаптеры.

1 Ответ

2 голосов
/ 03 февраля 2020

ваш pod su bnet (указан --pod-network-cidr) конфликтует с сетью, в которой находятся ваши виртуальные машины: эти 2 должны быть различны. Используйте что-то другое для pod su bnet, например 10.244.0.0/16, а затем отредактируйте calico.yaml перед его применением, как описано в официальных документах :

POD_CIDR="10.244.0.0/16"
kubeadm init --pod-network-cidr=${POD_CIDR} --apiserver-advertise-address 192.168.40.133
curl https://docs.projectcalico.org/manifests/calico.yaml -O
sed -i -e "s?192.168.0.0/16?${POD_CIDR}?g" calico.yaml
kubectl apply -f calico.yaml

надеюсь, это поможет :)

примечание: на самом деле вам не нужно указывать флаг --apiserver-advertise-address: kubeadm большую часть времени будет правильно определять основной IP-адрес компьютера.

...