Kubernetes - Calico CrashLoopBack на контейнерах

Я только начал экспериментировать с K8S несколько дней назад, пытаюсь изучить K8S с особым упором на сети, сервисную сетку и т. Д.

Я использую 2 рабочих узла и 1 мастер на виртуальных машинах с Centos 7 и K8S, установленными с помощью kubeadm.

CNI по умолчанию для Flannel. Установка прошла нормально, и все, кроме сети, работало. Я мог развертывать контейнеры и т. Д., Поэтому работала большая часть плоскости управления.

Однако сеть работает некорректно, даже от контейнера к контейнеру на том же рабочем узле. Я проверил всех обычных подозреваемых, ветов, IP, MAC, бригад на одном работнике, и все, казалось, проверило ... например. MAC-адреса на правильных мостах, например cni0, назначение IP-адресов и т. Д. Даже при пинге от busybox к busybox я бы увидел, что кеши ARP заполняются, но эхо-запросы по-прежнему не работают .... отключены все FW, включена переадресация IP и т. Д. эксперт по IPtables, но выглядел хорошо ..... также, когда я входил в оболочку рабочего узла, я мог пинговать контейнеры busybox, но они не могли пинговать друг друга ....

У меня есть один вопрос: почему мост docker0 все еще присутствует, даже если установлен фланель, могу ли я его удалить или с ним связаны какие-то зависимости? Я не заметил, что ветки для контейнеров показывали подключенные к мосту docker0, но докер невеста0 не работал ... однако я следил за этим сайтом, и он показывает другой способ проверки и отображения ветвей, подключенных к cni0, что очень сбивает с толку и расстраивает. ....

Я отказался от Flannel, потому что просто экспериментировал с Flannel, и решил попробовать Calico ....

Я выполнил процедуры установки с сайта Calico ... не совсем понял процедуры очистки для Flannel, не уверен, где это задокументировано? ... здесь все пошло от плохого к худшему ...

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

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

=== информация об установке и некоторые результаты ...

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

введите здесь описание изображения

Некоторые вопросы...

  1. Создание контейнера для coredns ..... зависит ли это от успешной установки Calico ... связаны ли проблемы ... или установка coredns должна работать независимо от установки CNI?

person spinach.teeth    schedule 22.05.2020    source источник


Ответы (1)


Создание контейнера для coredns ..... зависит ли это от успешной установки Calico ... связаны ли проблемы ... или установка coredns должна работать независимо от установки CNI?

Да, это так. Вам необходимо установить CNI для работы coredns.

Когда вы настраиваете свой кластер с помощью kubeadm, есть флаг --pod-network-cidr, в зависимости от того, какой CNI вы собираетесь использовать, вам нужно указать диапазон с этим флагом.

Например, по умолчанию Calico использует диапазон 192.168.0.0/16, а Flannel - диапазон 10.244.0.0/16.

У меня есть руководство по как настроить кластер с помощью kubeadm, может быть, это вам поможет.

Обратите внимание: если вы хотите заменить CNI без удаления всего кластера, необходимо предпринять дополнительные шаги, чтобы «очистить» правила брандмауэра от старого CNI.

См. здесь, например, как заменить фланель на ситцевую.

И здесь, как перейти с фланели на ситцевую.

person Mr.KoopaKiller    schedule 27.05.2020