Облачная платформаEvolution

Использование кеширующего реестра в качестве источника пакетов для Debian и Ubuntu


С помощью этого руководства вы создадите кеширующий реестр, который настроите как источник пакетов для операционных систем Debian или Ubuntu на виртуальной машине.

Вы будете использовать следующие инструменты:

  • Artifact Registry для хранения, совместного использования и управления Docker-образами, Deb-пакетами, RPM-пакетами, Helm-чартами и файлами любого типа (generic).

  • «Виртуальные машины» — сервис, в рамках которого предоставляется виртуальная машина.

Шаги:

  1. Создайте виртуальную машину.

  2. Создайте кеширующий реестр.

  3. Добавьте источник пакетов.

  4. Приоритизируйте кеширующий реестр.

  5. Обновите данные для операционной системы.

  6. Проверьте работу заданных настроек.

Перед началом работы

  1. Зарегистрируйтесь в личном кабинете Cloud.ru.

    Если вы уже зарегистрированы, войдите под своей учетной записью.

  2. Сгенерируйте ключевую пару и загрузите публичный ключ в Cloud.ru Evolution.

1. Создайте виртуальную машину

  1. На верхней панели слева нажмите Кнопка с изображением девяти точек и выберите Инфраструктура → Виртуальные машины.

  2. Нажмите Создать виртуальную машину.

  3. На шаге Конфигурация:

    1. Укажите название виртуальной машины.

    2. Выберите образ.

      Например Ubuntu 24.04 или Debian 12.

    3. Выберите объем вычислительных ресурсов для виртуальной машины:

      • Гарантированная доля vCPU — 10%;

      • vCPU — 2;

      • RAM — 4.

  4. Нажмите Продолжить.

  5. На шаге Настройки:

    1. В разделе Сетевые настройки выберите тип интерфейса Публичный IP.

      Для виртуальной машины будет арендован и назначен новый прямой публичный IP-адрес для обмена трафиком с интернетом.

    2. В разделе Авторизация пользователя укажите логин пользователя виртуальной машины.

    3. Выберите метод аутентификации Публичный ключ.

    4. Выберите в списке добавленный ранее публичный ключ.

  6. Нажмите Создать.

2. Создайте кеширующий реестр

  1. На верхней панели слева нажмите Кнопка с изображением девяти точек и выберите Контейнеры → Artifact Registry.

  2. Нажмите Создать реестр.

  3. Выберите формат реестра Debian.

  4. Укажите название реестра.

    Название реестра станет частью URI реестра, который будет использоваться для аутентификации и работы с образами.

  5. Выберите Публичный или Приватный тип доступа к реестру.

  6. Выберите тип реестра Кеширующий.

  7. Нажмите Создать.

3. Добавьте источник пакетов

  1. На виртуальной машине откройте любую удобную консоль и создайте файл cloudru.list в директории /etc/apt/sources.list.d:

    sudo tee /etc/apt/sources.list.d/cloudru.list >/dev/null <<'EOF'
    deb [trusted=yes] http://<registry_name>-deb.ar.cloud.ru <release> <component>
    EOF

    Где:

    • <registry_name> — название реестра в Artifact Registry.

    • <release> — название релиза. Например, для ОС «Debian 12» значение релиза — bookworm, а для «Ubuntu 24.04» — noble.

    • <component> — секция, к которой относится пакет в зависимости от уровня его готовности и лицензии.

    Например, для реестра с названием «ubuntu-cache», ОС «Ubuntu 24.04» и компонентом main restricted запрос будет:

    sudo tee /etc/apt/sources.list.d/cloudru.list >/dev/null <<'EOF'
    deb [trusted=yes] http://ubuntu-cache-deb.ar.cloud.ru noble main restricted
    EOF
  2. Если у вас приватный реестр, создайте файл с ключом доступа, выполнив последовательно команды:

    sudo install -d -m 0755 /etc/apt/auth.conf.d
    sudo tee /etc/apt/auth.conf.d/cloudru.conf >/dev/null <<'EOF'
    machine http://<registry_name>-deb.ar.cloud.ru
    login <key_id>
    password <key_secret>
    EOF
    sudo chmod 600 /etc/apt/auth.conf.d/cloudru.conf

    Где:

    • <registry_name> — название реестра в Artifact Registry.

    • <key_id> — логин ключа доступа.

    • <key_secret> — пароль ключа доступа.

4. Приоритизируйте кеширующий реестр

Чтобы кеширующий реестр при запросе данных использовался в первую очередь, но другие репозитории оставались на случай отсутствия пакета в реестре Artifact Registry, настройте приоритизацию:

sudo tee /etc/apt/preferences.d/99-cloudru-cache >/dev/null <<'EOF'
Package: *
Pin: origin "<registry_name>-deb.ar.cloud.ru"
Pin-Priority: 990
EOF

Где <registry_name> — название реестра в Artifact Registry.

5. Обновите данные для операционной системы

  1. Добавьте в локальный кеш доступные пакеты, их версии и зависимости:

    sudo apt-get update --allow-insecure-repositories
  2. Установите нужный пакет:

    sudo apt-get install <name_package>

6. Проверьте работу заданных настроек

Чтобы убедиться, что внесенные изменения применились, выполните команду:

apt-cache policy curl

Если в ответе источником пакетов указан созданный кеширующий реестр <registry_name>-deb.ar.cloud.ru, изменения применились. Кеширующий реестр будет получать пакеты из внешнего источника при первом запросе и далее отдавать их из кеша в рамках настроенной политики TTL.

Результат

Вы научились:

  • создавать виртуальную машину;

  • создавать реестр Artifact Registry;

  • настраивать реестр как источник пакетов для Debian или Ubuntu.