Рейтинг:1

Иметь возможность подключения к модулю nginx только с узла, на котором он работает.

флаг ws

Я установил мастер kubernetes и один узел v 1.20. Я развернул nginx с

kubectl запустить nginxpod --image=nginx


$ kubectl get pods -o широкий
НАЗВАНИЕ ГОТОВНОСТЬ СТАТУС ПЕРЕЗАПУСКИ ВОЗРАСТ IP УЗЛА НАЗНАЧЕННЫЙ УЗЕЛ ГОТОВНОСТЬ ВОРОТА
nginxpod 1/1 Работает 0 19 с 192.168.2.195 xps15-9560 <нет> <нет>

На мастере, когда я скручиваюсь на мастере, время ожидания истекает:

$ завиток 192.168.2.195
curl: (7) Не удалось подключиться к порту 80 192.168.2.195: время ожидания подключения истекло

На узле работает. Я пробовал с других хостов в своей сети, и у них тоже истекло время ожидания. Почему я могу подключиться только с узла, на котором на самом деле работает модуль?

----Редактировать----

Калико-узлы работают, но не готовы. Я не знаю, что это значит:

$ kubectl получить pods -A
ПРОСТРАНСТВО ИМЕН ИМЯ ГОТОВ СТАТУС ПЕРЕЗАПУСКА ВОЗРАСТ
по умолчанию nginxpod 1/1 работает 0 64 м
kube-system calico-kube-controllers-5f6cfd688c-wk5jp 1/1 Бег 0 69м
kube-system calico-node-t47kf 0/1 Бег 0 45м
kube-system calico-node-vqj6m 0/1 Работает 0 68м
kube-system calico-node-wzwzb 0/1 Бег 0 69м
kube-system coredns-74ff55c5b-mb2vj 1/1 Бег 0 69м
kube-system coredns-74ff55c5b-pvsgz 1/1 Бег 0 69м
kube-system etcd-ubuntu-18-extssd 1/1 Работает 0 69м
kube-system kube-apiserver-ubuntu-18-extssd 1/1 Работает 0 69м
kube-system kube-controller-manager-ubuntu-18-extssd 1/1 Работает 0 69м
kube-system kube-proxy-5fq9b 1/1 Бег 0 68м
kube-system kube-proxy-bxhfm 1/1 работает 0 69м
kube-system kube-proxy-pp9sb 1/1 Бег 0 45м
kube-system kube-scheduler-ubuntu-18-extssd 1/1 Работает 0 69м

--------Редактировать 2------------------

Узлы ситца NotFound:

$ kubectl описать pod calico-node-t47kf
Ошибка сервера (NotFound): модули "calico-node-t47kf" не найдены
$ kubectl описать модуль calico-node-vqj6m
Ошибка сервера (NotFound): модули «calico-node-vqj6m» не найдены
$ kubectl описать pod calico-node-*****
Ошибка сервера (NotFound): модули "calico-node-*****" не найдены

----Редактировать 3---- Вывод для описания pod calico-node-t47kf:

$ kubectl -n kube-system описать pod calico-node-t47kf
Название: calico-node-t47kf
Пространство имен: kube-system
Приоритет: 2000001000
Имя класса приоритета: system-node-critical
Узел: xps15-9560/192.168.0.71
Время начала: Вс, 05 сентября 2021 г., 16:51:37 -06:00
Ярлыки: контроллер-ревизия-хэш=b8998dcb
                      k8s-app=calico-узел
                      pod-шаблон-генерация = 1
Аннотации: <нет>
Статус: Работает
IP-адрес: 192.168.0.71
IP-адреса:
  IP-адрес: 192.168.0.71
Управляется: DaemonSet/calico-node
Инициальные контейнеры:
  обновление-ipam:
    Идентификатор контейнера: docker://3d393316548badf75bb2c2ad881ffd7a4d2c37a1762d84ec973715c8a398072e
    Изображение: docker.io/calico/cni:v3.20.0
    Идентификатор изображения: docker-pullable://calico/cni@sha256:9906e2cca8006e1fe9fc3f358a3a06da6253afdd6fad05d594e884e8298ffe1d
    Порт: <нет>
    Хост-порт: <нет>
    Команда:
      /opt/cni/bin/calico-ipam
      -Обновить
    Состояние: прекращено
      Причина: Завершено
      Код выхода: 0
      Начато: Вс, 05 Сен 2021 16:51:38 -0600
      Завершено: Вс, 05 Сен 2021 16:51:38 -0600
    Готово: Верно
    Количество перезапусков: 0
    Переменные среды из:
      ConfigMap kubernetes-services-endpoint Необязательно: true
    Среда:
      KUBERNETES_NODE_NAME: (v1:spec.nodeName)
      CALICO_NETWORKING_BACKEND: <устанавливается в ключ 'calico_backend' карты конфигурации 'calico-config'> Необязательно: false
    Маунты:
      /host/opt/cni/bin из cni-bin-dir (rw)
      /var/lib/cni/networks из host-local-net-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount из calico-node-token-qfrcw (ro)
  установить-cni:
    Идентификатор контейнера: docker://9e3b23f12657fe343117ec0cf54e104a8eb69c6133fe2dd10c1aabbc9260189f
    Изображение: docker.io/calico/cni:v3.20.0
    Идентификатор изображения: docker-pullable://calico/cni@sha256:9906e2cca8006e1fe9fc3f358a3a06da6253afdd6fad05d594e884e8298ffe1d
    Порт: <нет>
    Хост-порт: <нет>
    Команда:
      /opt/cni/bin/установить
    Состояние: прекращено
      Причина: Завершено
      Код выхода: 0
      Начато: Вс, 05 Сен 2021 16:51:39 -0600
      Завершено: Вс, 05 Сен 2021 16:51:40 -0600
    Готово: Верно
    Количество перезапусков: 0
    Переменные среды из:
      ConfigMap kubernetes-services-endpoint Необязательно: true
    Среда:
      CNI_CONF_NAME: 10-calico.conflist
      CNI_NETWORK_CONFIG: <устанавливается в ключ 'cni_network_config' карты конфигурации 'calico-config'> Необязательно: false
      KUBERNETES_NODE_NAME: (v1:spec.nodeName)
      CNI_MTU: <устанавливается на ключ 'veth_mtu' карты конфигурации 'calico-config'> Необязательно: false
      СОН: ложь
    Маунты:
      /host/etc/cni/net.d из cni-net-dir (rw)
      /host/opt/cni/bin из cni-bin-dir (rw)
      /var/run/secrets/kubernetes.io/serviceaccount из calico-node-token-qfrcw (ro)
  flexvol-драйвер:
    Идентификатор контейнера: docker://090008276cf33c2fd64aa141405e90feff00fc70f55769372655e45bf2e2dc92
    Изображение: docker.io/calico/pod2daemon-flexvol:v3.20.0
    Идентификатор изображения: docker-pullable://calico/pod2daemon-flexvol@sha256:c17e3e9871682bed00bfd33f8d6f00db1d1a126034a25bf5380355978e0c548d
    Порт: <нет>
    Хост-порт: <нет>
    Состояние: прекращено
      Причина: Завершено
      Код выхода: 0
      Начато: Вс, 05 Сен 2021 16:51:40 -0600
      Завершено: Вс, 05 Сен 2021 16:51:40 -0600
    Готово: Верно
    Количество перезапусков: 0
    Среда: <нет>
    Маунты:
      /host/driver из flexvol-driver-host (rw)
      /var/run/secrets/kubernetes.io/serviceaccount из calico-node-token-qfrcw (ro)
Контейнеры:
  колено-узел:
    Идентификатор контейнера: docker://2c1456bb2f346564f88b3e8deba3baef1669f0aa61aa0e654d52c915eaf462cf
    Изображение: docker.io/calico/node:v3.20.0
    Идентификатор изображения: docker-pullable://calico/node@sha256:7f9aa7e31fbcea7be64b153f8bcfd494de023679ec10d851a05667f0adb42650
    Порт: <нет>
    Хост-порт: <нет>
    Состояние: работает
      Начато: Вс, 05 Сен 2021 16:51:41 -0600
    Готово: Ложь
    Количество перезапусков: 0
    Запросы:
      процессор: 250 м
    Жизнеспособность: exec [/bin/calico-node -felix-live -bird-live] delay=10s timeout=10s period=10s #success=1 #failure=6
    Готовность: exec [/bin/calico-node -felix-ready -bird-ready] delay=0s timeout=10s period=10s #success=1 #failure=3
    Переменные среды из:
      ConfigMap kubernetes-services-endpoint Необязательно: true
    Среда:
      DATASTORE_TYPE: кубернет
      WAIT_FOR_DATASTORE: правда
      ИМЯ УЗЛА: (v1:spec.nodeName)
      CALICO_NETWORKING_BACKEND: <устанавливается в ключ 'calico_backend' карты конфигурации 'calico-config'> Необязательно: false
      CLUSTER_TYPE: k8s,bgp
      IP: автоопределение
      CALICO_IPV4POOL_IPIP: всегда
      CALICO_IPV4POOL_VXLAN: никогда
      FELIX_IPINIPMTU: <устанавливается на ключ 'veth_mtu' карты конфигурации 'calico-config'> Необязательно: false
      FELIX_VXLANMTU: <устанавливается в ключ 'veth_mtu' карты конфигурации 'calico-config'> Необязательно: false
      FELIX_WIREGUARDMTU: <устанавливается на ключ 'veth_mtu' карты конфигурации 'calico-config'> Необязательно: false
      CALICO_DISABLE_FILE_LOGGING: правда
      FELIX_DEFAULTENDPOINTTOHOSTACTION: ПРИНЯТЬ
      FELIX_IPV6SUPPORT: ложь
      FELIX_HEALTHENABLED: правда
    Маунты:
      /host/etc/cni/net.d из cni-net-dir (rw)
      /lib/modules из lib-modules (ro)
      /run/xtables.lock из xtables-lock (rw)
      /sys/fs/ из sysfs (RW)
      /var/lib/calico из var-lib-calico (rw)
      /var/log/calico/cni из cni-log-dir (ro)
      /var/run/calico из var-run-calico (rw)
      /var/run/nodeagent из policysync (rw)
      /var/run/secrets/kubernetes.io/serviceaccount из calico-node-token-qfrcw (ro)
Условия:
  Тип Статус
  Инициализировано Истинно 
  Готов Ложь 
  ContainersReady False 
  PodScheduled True 
Объемы:
  lib-модули:
    Тип: HostPath (голый том каталога хоста)
    Путь: /библиотека/модули
    Тип Пути Хоста:  
  вар-бег-калико:
    Тип: HostPath (голый том каталога хоста)
    Путь: /var/run/calico
    Тип Пути Хоста:  
  вар-либ-калико:
    Тип: HostPath (голый том каталога хоста)
    Путь: /var/lib/calico
    Тип Пути Хоста:  
  xtables-блокировка:
    Тип: HostPath (голый том каталога хоста)
    Путь: /run/xtables.lock
    Хостпастипе: филеоркреате
  системные файлы:
    Тип: HostPath (голый том каталога хоста)
    Путь: /sys/fs/
    Хостпастипе: директороркреате
  cni-бин-дир:
    Тип: HostPath (голый том каталога хоста)
    Путь: /opt/cni/bin
    Тип пути хоста:  
  cni-net-дир:
    Тип: HostPath (голый том каталога хоста)
    Путь: /etc/cni/net.d
    Тип пути хоста:  
  cni-журнал-дир:
    Тип: HostPath (голый том каталога хоста)
    Путь: /var/log/calico/cni
    Тип пути хоста:  
  host-local-net-dir:
    Тип: HostPath (голый том каталога хоста)
    Путь: /var/lib/cni/networks
    Тип пути хоста:  
  политикасинхронизация:
    Тип: HostPath (голый том каталога хоста)
    Путь: /var/run/nodeagent
    Хостпастипе: директороркреате
  flexvol-драйвер-хост:
    Тип: HostPath (голый том каталога хоста)
    Путь: /usr/libexec/kubernetes/kubelet-plugins/volume/exec/nodeagent~uds
    Хостпастипе: директороркреате
  Калико-узел-токен-qfrcw:
    Тип: секрет (том, заполненный секретом)
    SecretName: calico-node-token-qfrcw
    Необязательно: ложь
Класс QoS: взрывоустойчивый
Селекторы узлов: kubernetes.io/os=linux
Допуски: :NoSchedule op=Есть
                 :NoExecute op=Существует
                 CriticalAddonsOnly op=Существует
                 node.kubernetes.io/disk-pressure:NoSchedule op=Существует
                 node.kubernetes.io/memory-pressure:NoSchedule op=Существует
                 node.kubernetes.io/network-unavailable:NoSchedule op=Существует
                 node.kubernetes.io/not-ready:NoExecute op=Существует
                 node.kubernetes.io/pid-pressure:NoSchedule op=Существует
                 node.kubernetes.io/unreachable:NoExecute op=Существует
                 node.kubernetes.io/unschedulable:NoSchedule op=Существует
События:
  Тип Причина Возраст от сообщения
  ---- ------ ---- ---- -------
  Предупреждение о неработоспособности 93s (x41181 в течение 4 дней 18 часов) kubelet (объединено из похожих событий): ошибка проверки готовности: 2021-09-10 17:16:42.497 [INFO][1620263] confd/health.go 180: количество узлов с Пиринг BGP установлен = 0
calico/node не готов: BIRD не готов: BGP не установлен с 192.168.55.1,192.168.0.12

------Редактировать 4-------

Пробовал удалять и переустанавливать calico и это ухудшило ситуацию.

Michael Hampton avatar
флаг cz
Как вы настроили сеть pod?
флаг ws
Я использовал калико с `kubeadm init --pod-network-cidr=192.168.0.12/16`. Это главный IP-адрес.
Wytrzymały Wiktor avatar
флаг it
Здравствуйте, @DeanSchulze. Не могли бы вы предоставить дополнительную информацию о модулях calico, запустив «kubectl описать модуль calico-node-*****», чтобы увидеть проблему, вызывающую состояние готовности 0/1?
флаг ws
Узлы Calico дают NotFound. См. Редактировать 2 выше.
Wytrzymały Wiktor avatar
флаг it
Поскольку ваши модули calico работают в пространстве имен `kube-system`, просто измените свой запрос, указав пространство имен: 'kubectl -n kube-system description pod calico-node-*****'.
флаг ws
Добавлен (длинный) вывод в Edit 3 выше. Похоже, что calico-нода отключилась почти сразу.
Wytrzymały Wiktor avatar
флаг it
Вы все еще можете воспроизвести первоначальную проблему и состояние готовности 0/1 для узлов Calico?
флаг ws
Да. Все 3 узла calico-* находятся в состоянии готовности 0/1. Я также пытался удалить и переустановить калико, но ничего не изменилось.
Рейтинг:1
флаг ws

Видимо, что-то не так с бязь.yaml. Вот решение это подняло мои ситцевые узлы:

Бег:
kubectl set env daemonset/calico-node -n kube-system IP_AUTODETECTION_METHOD=can-reach=www.google.com

Затем стручки были готовы в течение нескольких секунд.

Справка:
https://docs.projectcalico.org/networking/ip-autodetection#change-the-autodetection-method

Ответить или комментировать

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