...

Установка elma365 после блокировки dockerhub

Тема в разделе "Администрирование On-Premises", создана пользователем zoomer, 30 май 2024.

  1. zoomer

    zoomer Новичок

    Добрый день!
    Подскажите как возможно установить elma365 в docker после блокировки dockerhub
    Добавляю в конфиг файле /etc/docker/daemon.json
    {
    "registry-mirrors": ["https://mirror.gcr.io"]
    }
    Перезапускаю docker. Локально образы скачиваются, все хорошо. Но при установке elma создается контейнер, в котором тоже запущена служба docker и там этих настроек нет. А при внесении изменений в них и перезапуске контейнера, дальше необходимо по новой запустить скрипт установки, файл /etc/docker/daemon.json удаляется.
    т.е. сейчас структура такая:
    При запуске скрипта установки, на виртуальной машине создается контейнер elma365
    Внутри этого контейнера через docker создается ещё 1 контейнер k8s-elma365-control-plane
    Внутри второго контейнера поднимается kubernetes.
    Так вот, проблема в том, что настройки docker на другое зеркало делаю на host машине, а внутри контейнера второго они не работают и я получаю по прежнему 403 ошибку.
    Как быть в этой ситуации?

    Вложения:

  2. sobolev

    sobolev Техническая поддержка

    Добрый день!
    Официальную информацию об инциденте, а также мерах обхода проблемы можно получить в статье https://elma365.com/ru/help/platform/docker-hub-blocking.html
    Если подобный вариант Вам не подходит Вы можете использовать оффлайн поставки (когда все файлы скачиваются локально и онлайн репозитории не требуются совсем) - это гарантированный вариант, что такой ситуации не повториться, так как все образы будут у Вас и доступны. Скачивание образов для оффлайн установки требуется проводить с машины, на которой есть доступ до Docker Hub.
    Мы проводим работы по исправлению и размещению всех образов для актуальных поставок в нашем репозитории, отвязав от публичных.

    На данный момент для установки конкретной версии поставки KinD (например 2024.1.14), после установки docker, требуется:
    0) Удалить текущую ELMA365 с помощью команды:
    ./elma365-installer-docker.sh --delete

    1) Предварительно указать зеркало репозитория в файле /etc/docker/daemon.json по аналогии согласно статьи:
    root@tasyapc:~/2024-1-14# cat /etc/docker/daemon.json
    { "registry-mirrors" : [ "https://mirror.gcr.io" ] }

    2) Перезапустить службу docker в ОС и убедиться в успешном перезапуске:
    root@tasyapc:~# systemctl restart docker
    root@tasyapc:~# systemctl status docker
    ● docker.service - Docker Application Container Engine
    Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
    Active: active (running) since Fri 2024-05-31 08:34:03 UTC; 28s ago

    3) Используя Ваш скрипт установки elma365-installer-docker.sh внести в него коррективы для монирования файла с registry-mirrors внутрь docker контейнера для внутреннего docker, а именно:
    В параметр MOUNT_DIR добавить --mount type=bind,source=/etc/docker/daemon.json,target=/etc/docker/daemon.json,readonly

    То есть изменить это:
    : ${MOUNT_DIR="--mount type=bind,source=$INSTALL_DIR,target=/var/lib/docker \
    --mount type=bind,source=$BACKUP_DIR,target=/backup \
    --mount type=bind,source=/etc/machine-id,target=/etc/machine-id,readonly"}

    На это:
    : ${MOUNT_DIR="--mount type=bind,source=$INSTALL_DIR,target=/var/lib/docker \
    --mount type=bind,source=$BACKUP_DIR,target=/backup \
    --mount type=bind,source=/etc/machine-id,target=/etc/machine-id,readonly \
    --mount type=bind,source=/etc/docker/daemon.json,target=/etc/docker/daemon.json,readonly"}

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

    4) После внесения изменений запустить установку, как по справочной информации:
    root@tasyapc:~/2024-1-14# ./elma365-installer-docker.sh
    Creating and starting a docker container elma365
    63c6a5845fa735a30d47413275f1ff70f57237ff51c13e9261d61ca7e4449efa
    Creating cluster
    ....

    Также если Вам не требуется конкретная версия, ориентировочно сегодня в ближайшее время будут выпущены latest для 2024.1-2024.4, где скачивание образов будет установлено с нашего репозитория.
    Последнее редактирование: 31 май 2024
  3. zoomer

    zoomer Новичок

    Спасибо за совет. Описанные выше меры, с пробросом файла daemon.json, помогли, но не до конца. Проблема теперь на 3-м слое абстракции. Т.е. в кластере kubernetes, который находится во втором контейнере, проблема с поднятием подов в кластере.[​IMG]
  4. sobolev

    sobolev Техническая поддержка

    Добрый день!

    Попробуйте, пожалуйста, дополнительно:

    docker exec elma365 sed -i '/endpoint = \["http:\/\/127.0.0.1:5000"\]/a \
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]\
    endpoint = ["https://mirror.gcr.io"]\
    ' /srv/config.toml

    docker exec elma365 sed -i '/endpoint = \["http:\/\/127.0.0.1:5000"\]/a \
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]\
    endpoint = ["https://mirror.gcr.io"]\
    ' /srv/config-syscgroup.toml

    docker exec elma365 docker restart k8s-elma365-control-plane