kubeadm загружает необходимые образы в автономном режиме

Вопрос или проблема

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

root@bi:~# kubeadm config images pull --cri-socket=unix:///var/run/cri-dockerd.sock
не удалось скачать образ "registry.k8s.io/kube-apiserver:v1.31.1": не удалось скачать образ registry.k8s.io/kube-apiserver:v1.31.1: Ошибка ответа от демона: ошибка разбора тела ответа HTTP 403: неверный символ '<' при поиске начала значения: "\n<html><head>\n<meta http-equiv=\"content-type\" content=\"text/html;charset=utf-8\">\n<title>403 Forbidden</title>\n</head>\n<body text=#000000 bgcolor=#ffffff>\n<h1>Ошибка: Доступ запрещен</h1>\n<h2>Ваш клиент не имеет разрешения на получение URL <code>/v2/kube-apiserver/manifests/v1.31.1</code> с этого сервера.</h2>\n<h2></h2>\n</body></html>\n"
Чтобы увидеть трассировку стека этой ошибки выполните с --v=5 или выше.

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

Ответ или решение

Вопрос: Как установить образы kubeadm в оффлайн-режиме

Если вы столкнулись с проблемой загрузки необходимых образов kubeadm из-за ограничений вашего интернет-соединения, не беспокойтесь. В этом руководстве я объясню, как можно выполнить данную задачу вручную, а также представлю необходимые шаги для настройки вашего кластера Kubernetes в оффлайн-режиме.

Шаги для загрузки образов kubeadm в оффлайн-режиме

  1. Убедитесь, что у вас есть доступ к машинам с интернетом:
    Для начала необходимо иметь доступ к компьютеру, который может подключаться к интернету. На этом компьютере вы будете загружать образы Docker.

  2. Скачивание необходимых образов:
    Используйте команду docker pull для загрузки требуемых образов. Например, если вам нужен образ kube-apiserver:v1.31.1, выполните:

    docker pull registry.k8s.io/kube-apiserver:v1.31.1

    Повторите этот процесс для всех необходимых образов. Вот список образов, которые часто требуются:

    • kube-apiserver
    • kube-controller-manager
    • kube-scheduler
    • kube-proxy
    • pause
    • etcd

    Для получения полного списка используйте команду:

    kubeadm config images list
  3. Экспортирование образов Docker в файлы:
    После загрузки изображений на машину с интернетом вам необходимо экспортировать их в tar-файлы:

    docker save -o kube-apiserver_v1.31.1.tar registry.k8s.io/kube-apiserver:v1.31.1

    Повторите эту команду для каждого образа, который вы хотите перенести.

  4. Перенос файлов на вашу локальную машину:
    Скопируйте все tar-файлы на вашу локальную машину. Это можно сделать с помощью USB-накопителя, SCP или любого другого метода передачи файлов.

  5. Импортирование образов на локальной машине:
    На вашей локальной машине используйте команду docker load для импорта образов:

    docker load -i kube-apiserver_v1.31.1.tar

    Проводите этот процесс для каждого tar-файла, который вы перенесли.

  6. Настройка kubeadm для работы с локальными образами:
    При запуске kubeadm вы не сможете указать локальный путь к образам. Однако, если образы успешно загружены в Docker, Kubernetes будет использовать их автоматически. Убедитесь, что образы правильно загружены, с помощью команды:

    docker images
  7. Инициализация кластера:
    Теперь вы можете запустить инициализацию вашего кластера с помощью команды:

    kubeadm init

    Убедитесь, что у вас есть все необходимые конфигурации и доступы для завершения процесса.

Заключение

Работа с ограниченным доступом к интернету может представлять определенные трудности, но, следуя вышеупомянутым шагам, вы сможете успешно установить необходимые образы kubeadm в оффлайн-режиме. Не забывайте обновлять ваши образы при необходимости, поддерживая их актуальными для безопасности и функциональности вашего кластера Kubernetes. Если у вас есть дополнительные вопросы, не стесняйтесь обращаться за поддержкой.

Оцените материал
Добавить комментарий

Капча загружается...