Cloud server with InvokeAI
InvokeAI Virtual Machine is a preconfigured cloud server with a tool for creating and processing images using AI technologies.
The image from which the server is deployed contains:
-
InvokeAI — a tool for creating and processing images using AI technologies;
-
Docker — a platform for running containerized applications;
-
Docker Compose — a tool for running multi-container applications in Docker;
-
nginx — a web server and reverse proxy;
-
drivers required to work with graphic processing units (GPU).
Before creating a server, review the software license agreements included in the image.
Functionality
- generation and processing of images using built-in and external ML models;
- image generation from text descriptions (text-to-image);
- creation of image generation workflows.
Minimum resource requirements
Getting started with InvokeAI
For InvokeAI to work, the cloud server must be accessible from the internet. To do this, when creating a server, you need to create a private subnet and attach a public floating IP address.
1. Create a public floating IP address
Create a public floating IP address so that the cloud server with InvokeAI is accessible from the internet.
Use the Create a public floating IP address section of the Public floating IP addresses guide.
2. Create a cloud server with InvokeAI
-
In the Control panel, on the top menu, click Products and select Cloud Servers.
-
Click Create server.
-
Fill in the blocks:
-
Check the cloud server price.
-
Click Create.
Name and placement
-
Enter the server name. It will be set as the hostname in the operating system.
-
Select the location where the server will be created. The available server configurations and resource costs depend on the location. You cannot change the location after the server is created.
Source
-
Откройте вкладку Приложения.
-
Select InvokeAI VM.
-
Optional: if you need a different current or archived application version, select the required version in the Version field.
Configuration
Select a configuration from the GPU range starting from 4 vCPU, RAM starting from 8 GB and a boot disk size starting from 80 GB. Two types of server configurations are available for this range:
- prebuilt configurations — configurations in the range with different specifications, in which the resource ratio is fixed;
- custom configurations — configurations in which you can specify any resource ratio.
В конфигурациях используются разные процессоры in зависимости от линейки and сегмента пула. Вы можете настроить выбранную конфигурацию. После создания сервера можно будет изменить конфигурацию.
Prebuilt configuration
Custom configuration
-
Open the tab with the GPU range.
-
Click Prebuilt.
-
Optional: you can adjust the configuration if you are creating a server in a multi-zone pool segment ru-6 or pool segments ru-3b, ru-7a, and ru-7b:
3.1. Разверните блок with описанием настроек конфигурации.
3.2. Optional: выберите производителя процессора. Выбор производителя доступен не во всех пулах.
3.3. Optional: если вы хотите, чтобы за vCPU облачного сервера не закреплялись ядра физического процессора, снимите чекбокс Выделенные ядра. Подробнее in инструкции Выделенные ядра.
3.4. Optional: если для сервера with выделенными ядрами вы хотите выключить Hyper-Threading, снимите чекбокс Hyper-Threading (SMT).
3.5. Optional: если вы создаете сервер with выделенными ядрами and хотите разместить многопроцессорный сервер on одной NUMA-ноде, отметьте чекбокс Обязательное размещение on одной NUMA-ноде. Разместить on одной NUMA-ноде можно сервер with 4 vCPU and больше. Если ресурсы облачного сервера не получится разместить on одной ноде, он не создаcтся. Подробнее in подразделе Размещение on одной NUMA-ноде инструкции Выделенные ядра.
-
Select a GPU.
-
Select a configuration.
-
If both local and network volumes are available in the selected configuration, select the volume to be used as the boot volume:
- локальный диск — отметьте чекбокс Локальный SSD NVMe диск. Сервер with локальным диском можно создать только из образов and приложений;
- сетевой диск — не отмечайте чекбокс Локальный SSD NVMe диск.
Объем оперативной памяти, который выделяется серверу, может быть меньше указанного in конфигурации — ядро операционной системы резервирует часть оперативной памяти in зависимости от версии ядра and дистрибутива. Выделенный объем on сервере можно проверить with помощью команды
sudo dmesg | grep Memory.
Volumes
-
Если при настройке конфигурации вы не отметили чекбокс Локальный SSD NVMe диск, in качестве загрузочного диска сервера будет использоваться первый указанный сетевой диск. Чтобы настроить его:
1.1. Выберите тип сетевого загрузочного диска.
1.2. Укажите размер сетевого загрузочного диска in ГБ or ТБ. Учитывайте лимиты сетевых дисков on максимальный размер.
1.3. Если вы выбрали тип диска Универсальный v2 or SSD Быстрый v2, укажите общее количество операций чтения and записи in IOPS. После создания диска вы можете изменить количество IOPS — уменьшить or увеличить. Количество изменений IOPS не ограничено.
-
Optional: add an additional network volume of the server :
2.1. Нажмите Добавить.
2.2. Выберите тип сетевого диска.
2.3. Specify the size of the network disk in GB or TB. Учитывайте лимиты сетевых дисков on максимальный размер.
2.4. Если вы выбрали тип диска Универсальный v2 or SSD Быстрый v2, укажите общее количество операций чтения and записи in IOPS. После создания диска вы можете изменить количество IOPS — уменьшить or увеличить. Количество изменений IOPS не ограничено.
After the server is created, you will be able to connect new additional volumes.
Internet
Configure public access to the server.
The cloud server will be added to a private subnet, which is connected to a cloud router with 1:1 NAT and internet access. Internet access will be provided through the cloud router. The server will be accessible from the internet via a public floating IP address.
-
В поле Подключение из интернета выберите тип доступа Публичный плавающий IP-адрес.
-
Select a public floating IP address that you created in step 1.
Private network
The cloud server can be added to an existing or new private subnet.
Existing private subnet
New private subnet
-
In the Subnet field, select a private subnet.
-
Optional: in the IP address field, change the default IP address.
-
В поле Роутер выберите существующий роутер or создайте новый.
If the router is not connected to the internet, it will be automatically connected after the server is created.
Security
Select security groups to filter traffic on the server ports. Without security groups, traffic will be blocked. If this block is missing, traffic filtering (port security) is disabled in the server network. With traffic filtering disabled, all traffic is allowed.
Access
-
Place an SSH key for the project on the server for secure connection:
1.1. Если SSH-ключ для проекта не добавлен in облачную платформу, нажмите Добавить SSH-ключ, введите имя ключа, вставьте публичный ключ in формате OpenSSH and нажмите Добавить.
1.2. Если SSH-ключ для проекта добавлен in облачную платформу, in поле SSH-ключ выберите существующий ключ. SSH-ключ доступен только in том пуле, in котором он размещен.
-
Optional: in поле Пароль для «root»:
2.1. Скопируйте пароль пользователя
root— пользователя with неограниченными правами on все действия над системой.2.2. Сохраните пароль in безопасном месте and не передавайте in открытом виде.
Additional settings
-
If you are planning to create multiple servers and want to increase infrastructure fault tolerance, add the server to a placement group:
1.1. Чтобы создать новую группу, in поле Группа размещения нажмите Создать.
1.2. Выберите Новая группа and введите имя группы.
1.3. Выберите политику размещения on разных хостах:
- soft-anti-affinity — the system will try to place servers on different hosts. If there is no suitable host when creating the server, it will be created on the same host;
- anti-affinity — servers in the group must be located on different hosts. If there is no suitable host when creating the server, the server will not be created.
1.4. Если группа создана, in поле Группа размещения выберите группу размещения.
-
Чтобы добавить дополнительную информацию or фильтровать серверы in списке, добавьте теги сервера. Автоматически добавляются теги операционной системы and конфигурации. Чтобы добавить новый тег, in поле Теги введите тег.
-
Чтобы добавить скрипт, который выполнится with помощью агента cloud-init при первом запуске операционной системы, in блоке Автоматизация in поле User data:
- откройте вкладку Текст and вставьте скрипт текстом;
- or откройте вкладку Файл and загрузите файл со скриптом.
3. Launch InvokeAI
-
Open the
http://<ip_address>:3000page in your browser.Specify
<ip_address>— the cloud server's public floating IP address. You can copy it in the control panel: from the top menu, click Products → Cloud Servers → in the server card, click next to the public floating IP address. -
Enter the username —
admin. -
Enter the password — the server UUID. You can copy it in the control panel: in the top menu, click Products → Cloud Servers → in the server card, click next to the UUID.
-
Click Log in.