С помощью этого руководства вы создадите кеширующий реестр, который настроите как источник пакетов для операционных систем Debian или Ubuntu на виртуальной машине.
Вы будете использовать следующие инструменты:
Artifact Registry для хранения, совместного использования и управления Docker-образами, Deb-пакетами, RPM-пакетами, Helm-чартами и файлами любого типа (generic).
«Виртуальные машины» — сервис, в рамках которого предоставляется виртуальная машина.
Шаги:
Зарегистрируйтесь в личном кабинете Cloud.ru.
Если вы уже зарегистрированы, войдите под своей учетной записью.
Сгенерируйте ключевую пару и загрузите публичный ключ в Cloud.ru Evolution.
На верхней панели слева нажмите и выберите Инфраструктура → Виртуальные машины.
Нажмите Создать виртуальную машину.
На шаге Конфигурация:
Укажите название виртуальной машины.
Выберите образ.
Например Ubuntu 24.04 или Debian 12.
Выберите объем вычислительных ресурсов для виртуальной машины:
Гарантированная доля vCPU — 10%;
vCPU — 2;
RAM — 4.
Нажмите Продолжить.
На шаге Настройки:
В разделе Сетевые настройки выберите тип интерфейса Публичный IP.
Для виртуальной машины будет арендован и назначен новый прямой публичный IP-адрес для обмена трафиком с интернетом.
В разделе Авторизация пользователя укажите логин пользователя виртуальной машины.
Выберите метод аутентификации Публичный ключ.
Выберите в списке добавленный ранее публичный ключ.
Нажмите Создать.
На верхней панели слева нажмите и выберите Контейнеры → Artifact Registry.
Нажмите Создать реестр.
Выберите формат реестра Debian.
Укажите название реестра.
Название реестра станет частью URI реестра, который будет использоваться для аутентификации и работы с образами.
Выберите Публичный или Приватный тип доступа к реестру.
Выберите тип реестра Кеширующий.
Нажмите Создать.
На виртуальной машине откройте любую удобную консоль и создайте файл 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 restrictedEOF
Если у вас приватный реестр, создайте файл с ключом доступа, выполнив последовательно команды:
sudo install -d -m 0755 /etc/apt/auth.conf.dsudo tee /etc/apt/auth.conf.d/cloudru.conf >/dev/null <<'EOF'machine http://<registry_name>-deb.ar.cloud.rulogin <key_id>password <key_secret>EOFsudo chmod 600 /etc/apt/auth.conf.d/cloudru.conf
Где:
<registry_name> — название реестра в Artifact Registry.
<key_id> — логин ключа доступа.
<key_secret> — пароль ключа доступа.
Чтобы кеширующий реестр при запросе данных использовался в первую очередь, но другие репозитории оставались на случай отсутствия пакета в реестре 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: 990EOF
Где <registry_name> — название реестра в Artifact Registry.
Добавьте в локальный кеш доступные пакеты, их версии и зависимости:
sudo apt-get update --allow-insecure-repositories
Установите нужный пакет:
sudo apt-get install <name_package>
Чтобы убедиться, что внесенные изменения применились, выполните команду:
apt-cache policy curl
Если в ответе источником пакетов указан созданный кеширующий реестр <registry_name>-deb.ar.cloud.ru, изменения применились. Кеширующий реестр будет получать пакеты из внешнего источника при первом запросе и далее отдавать их из кеша в рамках настроенной политики TTL.
Вы научились:
создавать виртуальную машину;
создавать реестр Artifact Registry;
настраивать реестр как источник пакетов для Debian или Ubuntu.