> ## Documentation Index
> Fetch the complete documentation index at: https://docs.edisglobal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Установка VPS с помощью Cloud-Init

> Как EDIS Global перешла на установку VPS из QCOW2 с Cloud-Init: преимущества перед ISO и использование cloudinit_user_data при первом запуске.

## Простая установка VPS с Cloud-Init

***

**Введение**

EDIS Global недавно перешла от традиционной установки операционных систем из .iso к установке из .qcow2 с помощью Cloud-Init для виртуальных серверов (VPS). Изменение затрагивает большинство современных дистрибутивов с поддержкой Cloud-Init. В этой статье объясняются назначение Cloud-Init, его преимущества перед установкой из .iso и использование `cloudinit_user_data` для эффективного управления VPS.

***

## Что такое Cloud-Init?

Cloud-Init — отраслевой стандарт автоматической первоначальной настройки облачных машин. Он настраивает облачную машину, например VPS, при первом запуске в процессе её создания. Cloud-Init может задавать имя хоста, добавлять пользователей и устанавливать пакеты. Он читает пользовательские данные, переданные при создании машины, и выполняет заданную настройку.

***

## Преимущества Cloud-Init перед установкой ОС из .iso

1. **Автоматическая настройка**: Cloud-Init автоматизирует настройку нового VPS, уменьшая объём ручной работы.

2. **Скорость и эффективность**: машины загружаются и становятся готовыми к работе быстрее, чем при установке из .iso.

3. **Индивидуальная конфигурация**: позволяет гибко настроить машину под конкретные задачи при первом запуске.

4. **Масштабирование**: упрощает развёртывание и управление множеством машин; каждая может получать одинаковые или разные настройки в зависимости от переданных пользовательских данных.

5. **Совместимость с разными платформами**: поддерживает различные операционные системы и подходит для разных сред.

***

## Как работает `cloudinit_user_data`

### Когда передавать собственные пользовательские данные

Сейчас собственные `cloudinit_user_data` поддерживаются через [операцию `set/reinstall` Management API](https://docs.edisglobal.com/management-api-reference/installation/reinstall) с поддерживаемым образом. Они **не поддерживаются в первоначальном запросе Order API**. Переустановка заменяет существующую ОС и данные; сначала сохраните всё необходимое.

Чтобы настроить новый VPS без дополнительной переустановки, закажите стандартную ОС с открытым SSH-ключом и примените конфигурацию по SSH, например с помощью Ansible. См. [процесс развёртывания через API](https://docs.edisglobal.com/order-api-reference/order-api.md#before-you-automate).

`cloudinit_user_data` — мощная возможность Cloud-Init, позволяющая передавать собственные настройки и скрипты, которые система выполнит при инициализации. Данные используют формат `#cloud-config` — файл конфигурации на основе YAML.

**Пояснения к примеру конфигурации:**

```yaml theme={"system"}
#cloud-config
set_hostname: YOUR_HOSTNAME
user: root
password: YOUR_ROOT_PASSWORD
disable_root: false
disable_root_opts: ""
ssh_pwauth: True
manage_etc_hosts: true
expire: False
runcmd:
  - chage -d 19000 root
  - [
      /usr/bin/sed,
      -i,
      -E,
      "s/disable_root:.*true/disable_root: false/i",
      /etc/cloud/cloud.cfg,
    ]
  - [
      /usr/bin/sed,
      -i,
      -E,
      "s/#PermitRootLogin.*/PermitRootLogin yes/i",
      /etc/ssh/sshd_config,
    ]
users:
  - default
power_state:
  delay: now
  mode: reboot
  message: Bye Bye
  timeout: 30
  condition: True
package_upgrade: true
```

**set\_hostname**: задаёт имя хоста VPS.

**user** и **password**: задают пользователя и пароль по умолчанию.

**disable\_root**: определяет, нужно ли отключить учётную запись root.

**ssh\_pwauth**: включает аутентификацию SSH по паролю.

**manage\_etc\_hosts**: разрешает Cloud-Init управлять файлом `/etc/hosts`.

**runcmd**: выполняет указанные команды при первом запуске. В этом примере изменяет срок действия пароля root и настройки SSH.

**users**: определяет дополнительных пользователей.

**power\_state**: управляет состоянием питания машины после инициализации; здесь задана перезагрузка.

**package\_upgrade**: обеспечивает обновление всех пакетов при первом запуске.

***

**Итоги**

Переход на Cloud-Init и установку из .qcow2 существенно улучшает управление VPS в EDIS Global. Cloud-Init обеспечивает более быстрое развёртывание, расширенную автоматизацию и гибкие индивидуальные настройки, повышая удобство и эффективность работы.

***

Внешний источник:

[Официальная документация Cloud-Init](https://cloudinit.readthedocs.io/en/latest/)


## Related topics

- [Образы Turnkey для OpenVPN на EDIS VPS (устарело)](https://docs.edisglobal.com/ru/advanced-setup-guides/installing-openvpn-with-turnkey.md)
- [Установка VPS из образа Cloud-Init qcow2](https://docs.edisglobal.com/ru/advanced-setup-guides/installing-a-vps-using-cloud-init.md)
- [Переустановка VPS (Linux или Windows)](https://docs.edisglobal.com/ru/vps-management/autoinstall-reinstall-install-vps-linux-windows.md)
- [Панель управления VPS EDIS Global](https://docs.edisglobal.com/ru/vps-management/vps-management-portal.md)
- [Ручная установка MikroTik RouterOS на VPS EDIS Global](https://docs.edisglobal.com/ru/advanced-setup-guides/install-mikrotik-routeros-on-edis-vps.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.