создание модуля застряло в состоянии ContainerCreating - PullRequest
0 голосов
/ 07 июня 2018

Я создал кластер k8s с RHEL7 с пакетами kubernetes GitVersion: " v1.8.1 ".Я пытаюсь развернуть WordPress на мой пользовательский кластер.Но создание модуля всегда застревает в состоянии ContainerCreating.

phani@k8s-master]$ kubectl get pods --all-namespaces
NAMESPACE     NAME                                                        READY     STATUS              RESTARTS   AGE
default       wordpress-766d75457d-zlvdn                                  0/1       ContainerCreating   0          11m
kube-system   etcd-k8s-master                                             1/1       Running             0          1h
kube-system   kube-apiserver-k8s-master                                   1/1       Running             0          1h
kube-system   kube-controller-manager-k8s-master                          1/1       Running             0          1h
kube-system   kube-dns-545bc4bfd4-bb8js                                   3/3       Running             0          1h
kube-system   kube-proxy-bf4zr                                            1/1       Running             0          1h
kube-system   kube-proxy-d7zvg                                            1/1       Running             0          34m
kube-system   kube-scheduler-k8s-master                                   1/1       Running             0          1h
kube-system   weave-net-92zf9                                             2/2       Running             0          34m
kube-system   weave-net-sh7qk                                             2/2       Running             0          1h

Версия Docker: 1.13.1

Pod status from descibe command
      Normal   Scheduled               18m                default-scheduler                           Successfully assigned wordpress-766d75457d-zlvdn to worker1
      Normal   SuccessfulMountVolume   18m                kubelet, worker1                            MountVolume.SetUp succeeded for volume "default-token-tmpcm"
      Warning  DNSSearchForming        18m                kubelet, worker1                            Search Line limits were exceeded, some dns names have been omitted, the applied search line is: default.svc.cluster.local svc.cluster.local cluster.local 
      Warning  FailedCreatePodSandBox  14m                kubelet, worker1                            Failed create pod sandbox.
      Warning  FailedSync              25s (x8 over 14m)  kubelet, worker1                            Error syncing pod
      Normal   SandboxChanged          24s (x8 over 14m)  kubelet, worker1                            Pod sandbox changed, it will be killed and re-created.

из журнала кублетов, который я обнаружил ниже, ошибка на рабочем

error: failed to run Kubelet: failed to create kubelet: misconfiguration: kubelet cgroup driver: "cgroupfs" is different from docker cgroup driver: "systemd"

Но kubelet стабилен, проблем на рабочем месте не было.

Как мне решить эту проблему?

Я проверил сбой cni, ничего не смог найти.

~]# ls /opt/cni/bin
bridge  cnitool  dhcp  flannel  host-local  ipvlan  loopback  macvlan  noop  ptp  tuning  weave-ipam  weave-net  weave-plugin-2.3.0

В журнальных журналах периодически появляются сообщения.похоже, что планировщик все время пытается создать контейнер.

Jun 08 11:25:22 worker1 kubelet[14339]: E0608 11:25:22.421184   14339 remote_runtime.go:115] StopPodSandbox "47da29873230d830f0ee21adfdd3b06ed0c653a0001c29289fe78446d27d2304" from runtime service failed: rpc error: code = DeadlineExceeded desc = context deadline exceeded
    Jun 08 11:25:22 worker1 kubelet[14339]: E0608 11:25:22.421212   14339 kuberuntime_manager.go:780] Failed to stop sandbox {"docker" "47da29873230d830f0ee21adfdd3b06ed0c653a0001c29289fe78446d27d2304"}
    Jun 08 11:25:22 worker1 kubelet[14339]: E0608 11:25:22.421247   14339 kuberuntime_manager.go:580] killPodWithSyncResult failed: failed to "KillPodSandbox" for "7f1c6bf1-6af3-11e8-856b-fa163e3d1891" with KillPodSandboxError: "rpc error: code = DeadlineExceeded desc = context deadline exceeded"
    Jun 08 11:25:22 worker1 kubelet[14339]: E0608 11:25:22.421262   14339 pod_workers.go:182] Error syncing pod 7f1c6bf1-6af3-11e8-856b-fa163e3d1891 ("wordpress-766d75457d-spdrb_default(7f1c6bf1-6af3-11e8-856b-fa163e3d1891)"), skipping: failed to "KillPodSandbox" for "7f1c6bf1-6af3-11e8-856b-fa163e3d1891" with KillPodSandboxError: "rpc error: code = DeadlineExceeded desc = context deadline exceeded"

Ответы [ 3 ]

0 голосов
/ 08 июня 2018

Как сказал Мэтью, это, скорее всего, сбой CNI.

Сначала найдите узел, на котором работает этот модуль:

kubectl get po wordpress-766d75457d-zlvdn -o wide 

Далее в узле, где расположен модуль, проверьте /etc/cni/net.d если у вас более одного .conf, вы можете удалить его и перезапустить узел.

source: https://github.com/kubernetes/kubeadm/issues/578.

Обратите внимание, что это одно из решений.

0 голосов
/ 11 июня 2018

Это похоже на работу, удалив $KUBELET_NETWORK_ARGS в /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

Я удалил $KUBELET_NETWORK_ARGS и перезапустил рабочий узел, после чего модули были успешно развернуты.

0 голосов
/ 08 июня 2018

Не удалось создать изолированную программную среду pod.

... почти всегда является ошибкой CNI ;Я бы проверил на узле , что все переплетенные контейнеры счастливы, и что /opt/cni/bin присутствует (или его эквивалент переплетения)

Возможно, вам придется проверить оба journalctl -u kubelet.service кака также журналы докера для всех работающих контейнеров, чтобы обнаружить полный объем ошибки на узле.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...