add: documentation

This commit is contained in:
“Naeel”
2026-06-30 15:45:24 +04:00
parent 540c1f7293
commit ca276d200f
1055 changed files with 47294 additions and 0 deletions
@@ -0,0 +1,93 @@
# Официальная инструкция по развёртыванию ВМ (Nubes)
_Источник: официальный сайт Nubes — сохранено для использования в разработке — 2026-01-29_
## Описание
Данный сервис позволяет разворачивать виртуальные машины (ВМ) непосредственно из Личного кабинета (ЛК).
---
## Доступные операции
- `create` — Создание виртуальной машины
- `delete` — Удаление виртуальной машины
- `resume` — Запуск виртуальной машины
- `suspend` — Остановка виртуальной машины
---
## Параметры для развёртывания ВМ
### Обязательные параметры
- `vappUid` — UUID vApp, в которой будет создаваться виртуальная машина. Пример: `WZ00400`
- `vmName` — Уникальное имя виртуальной машины. Пример: `test-vm`
- `vmCpu` — Количество ядер процессора. Должно быть больше 0. Пример: `1`
- `vmRam` — Объем оперативной памяти в гигабайтах. Должно быть больше 0. Пример: `1`
- `accessPortList` — Белый список портов для доступа к виртуальной машине извне в формате JSON. Пример: `["22","10050"]`
- `imageVm` — Образ операционной системы для развёртывания. Доступные значения: `RockyLinux_9-16G-cloudinit`, `Ubuntu_22-20G`, `Debian_13-20G`
- `userLogin` — Логин пользователя для SSH-доступа. По умолчанию: `myuser`
- `userPublicKey` — Публичный SSH-ключ пользователя в формате OpenSSH. Пример: `ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...`
- `needAddZabbixTemplate` — Значение истина/ложь, определяющее будет ли добавлен хост в Zabbix. Пример: `true`
### Опциональные параметры
- `accessIpList` — Белый список IP-адресов для доступа к виртуальной машине в формате JSON. Если оставить пустым, ВМ будет доступна со всех адресов. Пример: `["192.168.1.1", "10.0.0.5"]`
- `vmDisk` — Размер дополнительного диска в гигабайтах. Должно быть больше 0. Пример: `50`
- `ipSpaceName` — Внешний IP-адрес. Если не требуется — укажите значение `"no-needed"` (в нём не будет работать сбор метрик Zabbix).
- `cloudInit` — YAML-скрипт для кастомизации системы через cloud-init.
---
## Доступные образы операционных систем
- `RockyLinux_9-16G-cloudinit` — Базовый образ Rocky Linux 9 (системный диск 16 ГБ). Поддержка cloud-init. Минимальные требования: 1 vCPU, 1 ГБ RAM.
- `Ubuntu_22-20G` — Образ Ubuntu Server 22.04 LTS (системный диск 20 ГБ). Поддержка cloud-init. Минимальные требования: 1 vCPU, 1 ГБ RAM.
- `Debian_13-20G` — Образ Debian 13 (Trixie) (системный диск 20 ГБ). Поддержка cloud-init. Минимальные требования: 1 vCPU, 1 ГБ RAM.
---
## Пример использования Cloud-init
```yaml
users:
- name: myuser
sudo: ALL=(ALL) NOPASSWD:ALL
groups: sudo
shell: /bin/bash
ssh-authorized-keys:
- ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...
packages:
- nginx
runcmd:
- systemctl enable --now nginx
- systemctl restart nginx
```
---
## Результат выполнения
После успешного развёртывания в Личном кабинете появится новая виртуальная машина с заданными характеристиками. SSH-доступ осуществляется с использованием указанных логина и публичного ключа.
---
## Важные примечания и ограничения
- Для отключения внешнего IP укажите значение `"no-needed"` в параметре `ipSpaceName`.
- Параметр `cloudInit` является опциональным.
- Не рекомендуется использовать продолжительные инструкции в `cloudInit` (таймаут ~5 минут).
- Не поддерживается запись файлов через `cloudInit` (ограничение платформы).
- Не реализовано создание резервных копий ВМ через данный сервис.
---
## Диагностика проблем с Cloud-init
- Основной лог-файл: `/var/log/cloud-init.log`.
- Пакет не устанавливается:
- Проверьте доступность пакета в репозитории.
- Убедитесь в правильности написания имени пакета.
- Попробуйте установить вручную: `apt install <имя_пакета>` (Debian/Ubuntu) или `dnf install <имя_пакета>` (Rocky Linux).
- Команда не выполняется:
- Проверьте наличие требуемой утилиты в системе.
- Убедитесь в правильности синтаксиса команды.
- Попробуйте выполнить команду вручную для диагностики.
---
_Если нужно, могу также автоматически добавить ссылку на этот документ в `docs/registry/resources/vm.md` и/или в индекс документов — подтвердите, если хотите вставить ссылку (это предполагает изменение существующего файла)._