Рейтинг:0

Kubeadm с containerd не может использовать локально загруженные изображения

флаг ao

Я пытаюсь собрать kubernetes с containerd на чистом сервере (RHEL8).

Там нет подключения к Интернету, поэтому я вручную загрузил необходимые изображения (например, k8s.gcr.io/kube-scheduler:v1.22.1) и загрузил их с помощью «импорта изображений ctr».

Кажется, изображения успешно загружены.

#ctr изображения ls -q
k8s.gcr.io/coredns/coredns:v1.8.4
k8s.gcr.io/etcd:3.5.0-0
k8s.gcr.io/kube-apiserver:v1.22.1
k8s.gcr.io/кубе-контроллер-менеджер:v1.22.1
k8s.gcr.io/кубе-прокси:v1.22.1
k8s.gcr.io/кубе-планировщик: v1.22.1
k8s.gcr.io/пауза:3.5

Затем я выполнил «kubeadm init», но это не удалось с ошибками ImagePull.

#kubeadm init --kubernetes-version=1.22.1 --cri-socket=/run/containerd/containerd.sock
[init] Использование версии Kubernetes: v1.22.1
[preflight] Запуск проверки перед полетом
        [ПРЕДУПРЕЖДЕНИЕ FileExisting-tc]: tc не найден в системном пути
[preflight] Извлечение изображений, необходимых для настройки кластера Kubernetes
[предварительная проверка] Это может занять минуту или две, в зависимости от скорости вашего интернет-соединения.
[preflight] Вы также можете выполнить это действие заранее, используя «вытягивание образов конфигурации kubeadm»
Предварительная проверка фазы выполнения ошибки: [предварительная проверка] Произошли некоторые фатальные ошибки:

Как я могу разрешить kubeadm использовать локальные образы? Или можно игнорировать эти ошибки предварительной проверки?

Редактировать: Эта процедура (ручная загрузка образов вместо выполнения извлечения образов конфигурации kubeadm) хорошо работала при использовании Docker и CentOS7.

Рейтинг:1
флаг ao

Оказалось, что мне нужно было загрузить изображения в k8s.io пространство имен containerd, чтобы Kubernetes мог их распознать. Я импортировал изображения в неправильное пространство имен (по умолчанию).

ctr -n импорт изображений k8s.io xxx.tar
...

После загрузки всех образов, которые нужны Kubernetes, kubeadm init работал без выполнения
вытягивание образов конфигурации kubeadm. Изображения, которые может использовать Kubernetes, показаны на
ctr -n изображения k8s.io ls или же критические изображения.

# критические изображения
ТЕГ ИЗОБРАЖЕНИЯ РАЗМЕР ИДЕНТИФИКАТОРА ИЗОБРАЖЕНИЯ
k8s.gcr.io/coredns/coredns v1.8.4 8d147537fb7d1 47,7 МБ
k8s.gcr.io/etcd 3.5.0-0 0048118155842 296 МБ
k8s.gcr.io/kube-apiserver v1.22.1 f30469a2491a5 130 МБ
k8s.gcr.io/kube-controller-manager v1.22.1 6e002eb89a881 123 МБ
k8s.gcr.io/kube-proxy v1.22.1 36c4ebbc9d979 105 МБ
k8s.gcr.io/kube-scheduler v1.22.1 aca5ededae9c8 53,9 МБ
k8s.gcr.io/pause 3.5 ed210e3e4a5ba 686 КБ
Рейтинг:1
флаг de

Чтобы вручную извлечь изображения, выполните следующие действия:

список изображений конфигурации kubeadm
вытягивание образов конфигурации kubeadm

Также есть раздел для запуск kubeadm без подключения к интернету в документации Kubernetes.

Daigo avatar
флаг ao
На самом деле я хотел это сделать, но нет подключения к Интернету. С докером и CentOS7 я успешно установил kubernetes, используя ту же процедуру.

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

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