2022-09-19 Росплатформа и контейнеры

Я решил ознакомиться с функционалом контейнеров в росплатформе более детально, так как писал в прошлых выпусках, что считаю это важным аспектом платформы и одной из ее сильных сторон. Для тех кто не имел опыта работы с контейнерами VZ или LXC напомню как это устроено. Контейнеры vz больше похожи на легковесные операционки нежели чем на контейнеры с приложениями Docker. Чтобы развернуть контейнер, например в proxmox необходимо:

  • Загрузить с локального диска или с репозитория Шаблон контейнера. В шаблон входит обычно установленная операционная система с какими то базовыми настройками. PVE также отгружает в базовой конфигурации репозиторий с готовыми appliance - turnkey linux.
  • Развернуть из шаблона контейнера полноценный контейнер. Файлы шаблона копируются в выделенное окружение - аналог локального диска виртуальной машины настраивается сеть через интеграции и посути всё. Контейнер готов.

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

Вендор сообщает что это проблема известная и они работают на её устранением. На текущий момент пользователю предлагается самому умыкнуть интересующий его контейнер из репозитория VZ, руководство предоставленное вендором я оформил в статью.

Скачивание шаблонов контейнеров Virtuozzo

Чтобы скачать шаблон контейнера Virtuozzo на примере Ubuntu 18, необходимо

  1. Получить пакет с переменными wget https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/v/vzpkgenvdebx64-7.0.0-16.vz7.x86_64.rpm
  2. Получить сам шаблон wget https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/u/ubuntu-18.04-x86_64-ez-7.0.0-17.vz7.noarch.rpm
  3. Установить yum localinstall vzpkgenvdebx64-7.0.0-16.vz7.x86_64.rpm
  4. Установить yum localinstall ubuntu-18.04-x86_64-ez-7.0.0-17.vz7.noarch.rpm
  5. Теперь можно создать контейнер prlctl create ct --vmtype ct --ostemplate ubuntu-18.04-x86_64

Ubuntu 18.04

wget \
https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/v/vzpkgenvdebx64-7.0.0-16.vz7.x86_64.rpm \
https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/u/ubuntu-18.04-x86_64-ez-7.0.0-17.vz7.noarch.rpm && \
yum localinstall vzpkgenvdebx64-7.0.0-16.vz7.x86_64.rpm ubuntu-18.04-x86_64-ez-7.0.0-17.vz7.noarch.rpm -y
vzpkg update cache ubuntu-18.04-x86_64

Fedora 23

wget \
https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/f/fedora-23-x86_64-ez-7.0.0-10.vz7.noarch.rpm && \
yum localinstall fedora-23-x86_64-ez-7.0.0-10.vz7.noarch.rpm -y
vzpkg update cache fedora-23-x86_64

Debian 10

wget \
https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/d/debian-10.0-x86_64-ez-7.0.0-9.vz7.noarch.rpm https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/v/vzpkgenvdebx64-7.0.0-16.vz7.x86_64.rpm && \
yum localinstall vzpkgenvdebx64-7.0.0-16.vz7.x86_64.rpm debian-10.0-x86_64-ez-7.0.0-9.vz7.noarch.rpm -y
vzpkg update cache debian-10.0-x86_64

SLES42.3

wget \
https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/s/suse-42.3-x86_64-ez-7.0.0-2.vz7.noarch.rpm https://repo.virtuozzo.com/vz/releases/7.0.13-298/x86_64/os/Packages/v/vzpkgenvzypp49x64-7.0.9-14.vz7.x86_64.rpm && \
yum localinstall vzpkgenvzypp49x64-7.0.9-14.vz7.x86_64.rpm suse-42.3-x86_64-ez-7.0.0-2.vz7.noarch.rpm  -y
vzpkg update cache suse-42.3-x86_64