Я пытался установить кластер k8s на основе kubeadm на Macbook M1. Я использую техническую предварительную версию VMware Fusion для визуализации платформы Ubuntu Arm64. Ниже приведена информация о сборке ОС.
abhilash@lvm-master:~$ hostnamectl
Статическое имя хоста: lvm-master
Имя значка: компьютер-VM
Шасси: ВМ
Идентификатор машины: 81b2486b2a3d4f17b669067757aacdf4
Идентификатор загрузки: 8fc7f05e687c47579051163b59eeec6b
Виртуализация: vmware
Операционная система: Ubuntu 20.04.3 LTS
Ядро: Linux 5.4.0-100-универсальный
Архитектура: arm64
абхилаш@lvm-мастер:~$
Обычные шаги для запуска кластера K8s — это установка плагина CNI, такого как flannel/calico, после запуска плоскости управления kubernetes. В фоновом режиме этот шаг также создаст несколько сетевых интерфейсов.
Я несколько раз перезапускал узлы k8s на базе AMD64 и не вижу расхождений в отношении сетевых интерфейсов после перезапуска. Однако это не то же самое для узлов на базе ARM64.
Я сталкивался с отсутствующими сетевыми интерфейсами 10/10 раз.Я буду вставлять вывод «ip a» со всех узлов до и после перезапуска. Поскольку интерфейсы отсутствуют, все/большинство модулей из бязи/фланели находятся либо в состоянии Error/CashLoopBackOff. Следовательно, системные модули K8s также входят в состав Completed/CLBF.
Я сделал снимок всех vms перед перезапуском. Следовательно, после перезапуска я вижу, что какой-то интерфейс отсутствует, а все калико-стручки в плохом состоянии. Я возвращаю снимок. Я вижу, что весь интерфейс снова появляется, и модули возвращаются в состояние «Работает». Следовательно, я могу сделать вывод, что состояние CLBF/Error модулей calico/kube-system связано с отсутствием интерфейсов.
Похоже, что эта платформа Arm64 не может сохранить все интерфейсы, созданные фланелью / бязью, после перезагрузки. Я не уверен, сообщалось ли об этой проблеме или даже пытался ли кто-то использовать ARM64 для K8s.
Я использую netplan на 1 интерфейсе, который я подключаю к виртуальной машине. С этого конца все нормально. Я получаю тот же статический IP при каждом перезапуске. Я думаю, это не должно иметь значения, так как я использовал netplan и в AMD64.
Я не удалял кластер. Я могу воспроизвести что угодно, так как я сделал снимки в нужное время.