В разделе показан минимальный сценарий, в котором вы создаёте образ Ubuntu 24.04, диск из этого образа и виртуальную машину (ВМ), подключаетесь к ней по консоли, а затем удаляете созданные ресурсы.
- В командной строке
- В веб-интерфейсе
-
Создайте образ VirtualImage из внешнего источника:
d8 k apply -f - <<EOF apiVersion: virtualization.deckhouse.io/v1alpha2 kind: VirtualImage metadata: name: ubuntu spec: storage: ContainerRegistry dataSource: type: HTTP http: url: https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img EOF -
Создайте диск VirtualDisk из этого образа. Убедитесь, что в кластере задан StorageClass по умолчанию, и примените манифест:
d8 k apply -f - <<EOF apiVersion: virtualization.deckhouse.io/v1alpha2 kind: VirtualDisk metadata: name: linux-disk spec: dataSource: type: ObjectRef objectRef: kind: VirtualImage name: ubuntu EOF -
Создайте виртуальную машину VirtualMachine. В примере используется сценарий cloud-init, который создаёт пользователя
cloud:d8 k apply -f - <<EOF apiVersion: virtualization.deckhouse.io/v1alpha2 kind: VirtualMachine metadata: name: linux-vm spec: virtualMachineClassName: generic cpu: cores: 1 memory: size: 1Gi provisioning: type: UserData userData: | #cloud-config ssh_pwauth: True users: - name: cloud passwd: <PASSWORD_HASH> shell: /bin/bash sudo: ALL=(ALL) NOPASSWD:ALL lock_passwd: False blockDeviceRefs: - kind: VirtualDisk name: linux-disk EOFЗдесь
<PASSWORD_HASH>— хеш пароля пользователя в кавычках. Получите его командойmkpasswd --method=SHA-512 --rounds=4096, она запросит пароль и выведет готовое значение. Формат сценария описан в документации cloud-init. -
Проверьте, что образ и диск созданы, а ВМ запущена. Ресурсы переходят в готовое состояние не мгновенно, поэтому дождитесь нужных значений в колонке
PHASE:d8 k get vi,vd,vmПример вывода:
NAME PHASE CDROM PROGRESS AGE virtualimage.virtualization.deckhouse.io/ubuntu Ready false 100% 7h50m NAME PHASE CAPACITY VIRTUALMACHINE AGE virtualdisk.virtualization.deckhouse.io/linux-disk Ready 4Gi linux-vm 7h40m NAME PHASE UPTIME NODE IPADDRESS AGE virtualmachine.virtualization.deckhouse.io/linux-vm Running 7h30m virtlab-pt-2 10.66.10.2 7h46m -
Подключитесь к ВМ по консоли:
d8 v console linux-vmПример вывода:
Successfully connected to linux-vm console. The escape sequence is ^] linux-vm login: cloud Password: ... cloud@linux-vm:~$Чтобы выйти из консоли, нажмите
Ctrl+]. -
Удалите созданные ресурсы:
d8 k delete vm linux-vm d8 k delete vd linux-disk d8 k delete vi ubuntu
-
Создайте образ из внешнего источника:
- Перейдите на вкладку «Проекты» и выберите нужный проект.
- Перейдите в раздел «Виртуализация» → «Образы».
- Нажмите кнопку «Создать».
- В блоке «Источник» выберите «По ссылке».
- В открывшейся форме в поле «Имя образа» введите
ubuntu. - В блоке «Хранилище» в поле «Тип хранилища» выберите
ContainerRegistry. - В поле «URL» вставьте
https://cloud-images.ubuntu.com/noble/current/noble-server-cloudimg-amd64.img. - Нажмите кнопку «Создать».
- Проверьте статус образа на его странице.
-
Создайте диск из этого образа. Шаг можно пропустить и создать диск сразу при создании ВМ.
- Перейдите в раздел «Виртуализация» → «Диски».
- Нажмите кнопку «Создать».
- В открывшейся форме в поле «Имя диска» введите
linux-disk. - В поле «Источник» из выпадающего списка выберите образ
ubuntu. - При необходимости в поле «Размер» укажите больший размер, например
5Gi. - В поле «Класс хранения» выберите StorageClass или оставьте вариант по умолчанию.
- Нажмите кнопку «Создать».
- Проверьте статус диска на его странице.
Если у выбранного StorageClass задан режим
WaitForFirstConsumer, диск ожидает создания ВМ, которая его использует. До этого момента диск отображается со статусом «СОЗДАНИЕ 0%», но его уже можно выбрать при создании ВМ. -
Создайте виртуальную машину:
- Перейдите в раздел «Виртуализация» → «Виртуальные машины».
- Нажмите кнопку «Создать».
- В открывшейся форме в поле «Имя» введите
linux-vm. - В разделах «Платформа» и «Ресурсы» оставьте настройки по умолчанию.
-
В разделе «Диски» нажмите кнопку «Добавить».
Если диск уже создан, в открывшемся окне «Диски / Образы» выберите «Существующий» и укажите в списке диск
linux-disk.Если диск не создан, в том же окне выберите «Создать из» и задайте параметры:
- в поле «Название» введите
linux-disk; - в поле «Источник» из выпадающего списка выберите образ
ubuntu, в списке указан тип ресурса; - при необходимости в поле «Размер» укажите больший размер, например
5Gi; - в поле «Хранилище» выберите StorageClass или оставьте вариант по умолчанию.
Нажмите кнопку «Добавить».
- в поле «Название» введите
- Прокрутите страницу вниз до переключателя «Cloud-init» и включите его.
-
В появившееся поле вставьте сценарий, подставив вместо
<PASSWORD_HASH>хеш пароля в кавычках, полученный командойmkpasswd --method=SHA-512 --rounds=4096:#cloud-config ssh_pwauth: True users: - name: cloud passwd: <PASSWORD_HASH> shell: /bin/bash sudo: ALL=(ALL) NOPASSWD:ALL lock_passwd: False - Нажмите кнопку «Создать».
- Проверьте статус ВМ на её странице.
-
Подключитесь к ВМ по консоли:
- Перейдите в раздел «Виртуализация» → «Виртуальные машины».
- Из списка выберите нужную ВМ и нажмите на её имя.
- В открывшейся форме перейдите на вкладку «TTY» и войдите в систему в окне консоли.
-
Удалите созданные ресурсы:
- Перейдите в раздел «Виртуализация» и выберите нужный подраздел, например «Виртуальные машины», «Диски» или «Образы».
- В строке ресурса нажмите кнопку с многоточием и выберите «Удалить». В некоторых списках, например в списке снимков ВМ, удаление вынесено отдельной кнопкой.
- В окне подтверждения нажмите кнопку «Удалить» либо откажитесь от действия кнопкой «Не удалять».
Важно: Удаление ресурса необратимо. Диск, подключённый к запущенной виртуальной машине, удалить нельзя, для него пункт «Удалить» неактивен.