1 line
14 KiB
JSON
1 line
14 KiB
JSON
{"queryDurationMs":69,"svcOperation":{"svcOperationId":132,"operation":"create","url":"https://jenkins-master1.adl.nubes.ru/job/cloudServicesDev/job/vc/job/VmV3/job/create/job/master/buildWithParameters","descr":null,"man":"# Документация по использованию услуги развёртывания ВМ в Личном кабинете<br/><br/>Данный сервис позволяет разворачивать виртуальные машины (ВМ) непосредственно из Личного кабинета (ЛК).<br/><br/>## Доступные операции<br/>- **create** — Создание виртуальной машины<br/>- **delete** — Удаление виртуальной машины<br/>- **resume** — Запуск виртуальной машины<br/>- **suspend** — Остановка виртуальной машины<br/><br/>---<br/><br/>## Параметры для развёртывания ВМ<br/><br/>### Обязательные параметры:<br/><br/>**vappUid**<br/>UUID vApp, в которой будет создаваться виртуальная машина.<br/>*Пример: WZ00400*<br/><br/>**vmName**<br/>Уникальное имя виртуальной машины.<br/>*Пример: test-vm*<br/><br/>**vmCpu**<br/>Количество ядер процессора. Должно быть больше 0.<br/>*Пример: 1*<br/><br/>**vmRam**<br/>Объем оперативной памяти в гигабайтах. Должно быть больше 0.<br/>*Пример: 1*<br/><br/><br/>**accessPortList**<br/>Белый список портов для доступа к виртуальной машине извне в формате JSON.<br/>*Пример: ["22","10050]*<br/><br/>**imageVm**<br/>Образ операционной системы для развёртывания.<br/>*Доступные значения: RockyLinux_9-16G-cloudinit, Ubuntu_22-20G, Debian_13-20G*<br/><br/>**userLogin**<br/>Логин пользователя для SSH-доступа.<br/>*По умолчанию: myuser*<br/><br/>**userPublicKey**<br/>Публичный SSH-ключ пользователя в формате OpenSSH.<br/>*Пример: ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...*<br/><br/>**needAddZabbixTemplate**<br/>Значение истина\\лож определяющее будет ли добавлен хост в zabbix.<br/>*Пример: true*<br/><br/>### Опциональные параметры:<br/><br/>**accessIpList**<br/>Белый список IP-адресов для доступа к виртуальной машине в формате JSON. Если оставить пустым, вм будет доступена со всех адресов.<br/>*Пример: ["192.168.1.1", "10.0.0.5"]*<br/><br/>**vmDisk**<br/>Размер дополнительного диска в гигабайтах. Должно быть больше 0.<br/>*Пример: 50*<br/><br/>**ipSpaceName**<br/>Внешний IP-адрес. Если не требуется — укажите значение "no-needed".<br/><br/>**cloudInit**<br/>YAML-скрипт для кастомизации системы через cloud-init.<br/><br/>---<br/><br/>## Доступные образы операционных систем<br/><br/>### RockyLinux_9-16G-cloudinit<br/>Базовый образ на основе Rocky Linux 9 (Rocky-9.6-x86_64-minimal) для серверных задач.<br/>- Размер системного диска: 16 ГБ<br/>- Поддержка cloud-init<br/>- Минимальные требования: 1 vCPU, 1 ГБ RAM<br/><br/>### Ubuntu_22-20G<br/>Образ на основе Ubuntu Server 22.04 LTS для облачного окружения.<br/>- Размер системного диска: 20 ГБ<br/>- Поддержка cloud-init<br/>- Минимальные требования: 1 vCPU, 1 ГБ RAM<br/><br/>### Debian_13-20G<br/>Образ на основе Debian 13 (Trixie) для стабильной серверной работы.<br/>- Размер системного диска: 20 ГБ<br/>- Поддержка cloud-init<br/>- Минимальные требования: 1 vCPU, 1 ГБ RAM<br/><br/>---<br/><br/>## Пример использования Cloud-init<br/><br/>```yaml<br/>users:<br/> - name: myuser<br/> sudo: ALL=(ALL) NOPASSWD:ALL<br/> groups: sudo<br/> shell: /bin/bash<br/> ssh-authorized-keys:<br/> - ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC...<br/><br/>packages:<br/> - nginx<br/><br/>runcmd:<br/> - systemctl enable --now nginx<br/> - systemctl restart nginx<br/>```<br/><br/>---<br/><br/>## Результат выполнения<br/><br/>После успешного развёртывания в Личном кабинете появится новая виртуальная машина с заданными характеристиками. SSH-доступ осуществляется с использованием указанных логина и публичного ключа.<br/><br/>---<br/><br/>## Важные примечания<br/><br/>### Особенности работы:<br/>- Для отключения внешнего IP укажите значение "no-needed" в параметре ipSpaceName<br/>- Параметр cloudInit является опциональным<br/><br/>### Ограничения:<br/>- Не рекомендуется использовать продолжительные инструкции в cloud-init (таймаут 5 минут)<br/>- Не поддерживается запись файлов через cloud-init<br/>- Не реализовано создание резервных копий ВМ<br/><br/>---<br/><br/>## Диагностика проблем с cloud-init<br/><br/>### Основной лог-файл:<br/>```bash<br/>/var/log/cloud-init.log<br/>```<br/><br/>### Пакет не устанавливается:<br/>- Проверьте доступность пакета в репозитории<br/>- Убедитесь в правильности написания имени пакета<br/>- Попробуйте установить вручную: `apt install <имя_пакета>` (Debian/Ubuntu) или `dnf install <имя_пакета>` (Rocky Linux)<br/><br/>### Команда не выполняется:<br/>- Проверьте наличие требуемой утилиты в системе<br/>- Убедитесь в правильности синтаксиса команды<br/>- Попробуйте выполнить команду вручную для диагностики","cfsParams":[{"svcOperationCfsParamId":407,"svcOperationCfsParam":"vappUid","label":"UUID vApp","dataType":"uuid","valueList":null,"refSvcId":26,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":10,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":408,"svcOperationCfsParam":"vmName","label":"Имя ВМ","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"web01","defaultCompute":null,"func":null,"regex":"^[a-z0-9][a-z0-9.-]{1,61}[a-z0-9]$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":20,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":409,"svcOperationCfsParam":"vmCpu","label":"Кол-во ядер","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":64,"minvalue":1,"descr":"шт","man":null,"sort":30,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":410,"svcOperationCfsParam":"vmRam","label":"Кол-во ОЗУ","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"1","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":256,"minvalue":1,"descr":"Gb","man":null,"sort":40,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":411,"svcOperationCfsParam":"vmDisk","label":"Размер дополнительного диска","dataType":"integer > 0","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^(?:$|(?:0|[1-9]\\d{0,2}|1\\d{3}|20(?:[0-3]\\d|4[0-8])))$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Основной диск у vm зависит от образа (см. документацию)<br/>Если необходимо дополнительное место для vm, введите колличество Gb в эту форму","man":null,"sort":50,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":412,"svcOperationCfsParam":"ipSpaceName","label":"Выделить внешний IP","dataType":"string","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":60,"dependsOnCfsParams":"vappUid","isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":413,"svcOperationCfsParam":"accessIpList","label":"Белый список подключения к ВМ","dataType":"json","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":"^(?:$|\\[\\s*(?:\"(?:\\d{1,3}\\.){3}\\d{1,3}(?:\\/\\d{1,2})?\"(?:\\s*,\\s*\"(?:\\d{1,3}\\.){3}\\d{1,3}(?:\\/\\d{1,2})?\")*)\\s*\\])$","uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Формат массива<br/>Каким адресам будет предоставлен доступ до вм<br/><br/>Требует выделенного внешнего IP<br/>Если ничего не передано, то выставлено ["0.0.0.0/0"]","man":null,"sort":70,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":448,"svcOperationCfsParam":"accessPortList","label":"По каким портам открыть доступ к ВМ","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"[\"22\"]","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"По каким портам открыть доступ к ВМ.<br/>Порты 22, 10050 проставляются автоматически<br/>Пока доступно: <br/>22 - SSH, <br/>80 - HTTP,<br/>443 - HTTPS,<br/>10050 - ZABBIX","man":null,"sort":80,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false},{"svcOperationCfsParamId":414,"svcOperationCfsParam":"imageVm","label":"Образ ВМ","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":null,"man":null,"sort":90,"dependsOnCfsParams":"vappUid","isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":416,"svcOperationCfsParam":"userLogin","label":"Логин для подключения","dataType":null,"valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":"myuser","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Учётка SSH","man":null,"sort":180,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":417,"svcOperationCfsParam":"userPublicKey","label":"Публичная часть SSH-Ключа","dataType":"string","valueList":null,"refSvcId":null,"isRequired":true,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Публичная часть SSH-Ключа для пользователя","man":null,"sort":190,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":415,"svcOperationCfsParam":"cloudInit","label":"Шаблон Cloud-Init","dataType":"yaml","valueList":null,"refSvcId":null,"isRequired":false,"defaultValue":null,"defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Можно передать создание дополнительных пользователей. <br/>На текущий момент не реализовано выполнения в cloud-init, установки пакетов, выполнения команд и записи файлов.","man":null,"sort":200,"dependsOnCfsParams":null,"isModifiable":null,"isSensitive":false},{"svcOperationCfsParamId":449,"svcOperationCfsParam":"needAddZabbixTemplate","label":null,"dataType":"boolean","valueList":["false","true"],"refSvcId":null,"isRequired":true,"defaultValue":"true","defaultCompute":null,"func":null,"regex":null,"uniqueScope":null,"maxlength":null,"minlength":null,"maxvalue":null,"minvalue":null,"descr":"Поле позволяет автоматически добавить новый хост в систему мониторинга Zabbix. После добавления вы сможете в реальном времени просматривать все метрики производительности хоста.","man":null,"sort":null,"dependsOnCfsParams":null,"isModifiable":true,"isSensitive":false}]},"runDurationMs":70} |