Я пытаюсь собрать 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.