Skip to content

Commit 1b4e899

Browse files
deckhouse-BOaTswainfl64goganatLopatinDmitrprismagod
authored
Backport: docs: update docs due v0.21.0 (#1200)
docs: update docs due v0.21.0 (#1153) Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com> Signed-off-by: Dmitry Lopatin <dmitry.lopatin@flant.com> Signed-off-by: Vladislav Panfilov <vladislav.panfilov@flant.com> Co-authored-by: Pavel Tishkov <pavel.tishkov@flant.com> Co-authored-by: goganat <georgy.dauman@flant.com> Co-authored-by: Dmitry Lopatin <dmitry.lopatin@flant.com> Co-authored-by: Vladislav Panfilov <vladislav.panfilov@flant.com>
1 parent 6b0a459 commit 1b4e899

4 files changed

Lines changed: 111 additions & 8 deletions

File tree

docs/ADMIN_GUIDE.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -733,13 +733,22 @@ spec:
733733

734734
## Reliability mechanisms
735735

736+
### VM Rebalancing
737+
738+
The platform provides the ability to automate the management of already running virtual machines in the cluster. To activate this feature, you need to enable the `descheduler` module.
739+
740+
When you enable the module, it automatically monitors the optimal operation of virtual machines in the cluster. The main features it provides are:
741+
742+
- Load balancing: The system analyses CPU reservation on cluster nodes. When CPU reservations exceed 80% on a node, the system automatically transfers part of the VMs to less loaded nodes. This prevents overload and ensures stable VM operation.
743+
- Appropriate placement: The system checks whether the current node meets the requirements of each VM and whether the placement rules are followed in relation to the node or other VMs in the cluster. For example, if a VM should not be on the same node as another VM, the module transfers it to a more suitable node.
744+
736745
### Migration and maintenance mode
737746

738747
Virtual machine migration is an important feature in virtualized infrastructure management. It allows you to move running virtual machines from one physical node to another without shutting them down. Virtual machine migration is required for a number of tasks and scenarios:
739748

740-
- **Load balancing**. Moving virtual machines between nodes allows you to evenly distribute the load on servers, ensuring that resources are utilized in the best possible way.
741-
- **Node maintenance**. Virtual machines can be moved from nodes that need to be taken out of service to perform routine maintenance or software upgrade.
742-
- **Upgrading a virtual machine firmware**. The migration allows you to upgrade the firmware of virtual machines without interrupting their operation.
749+
- Load balancing: Moving virtual machines between nodes allows you to evenly distribute the load on servers, ensuring that resources are utilized in the best possible way.
750+
- Node maintenance: Virtual machines can be moved from nodes that need to be taken out of service to perform routine maintenance or software upgrade.
751+
- Upgrading a virtual machine firmware: The migration allows you to upgrade the firmware of virtual machines without interrupting their operation.
743752

744753
#### Start migration of an arbitrary machine
745754

docs/ADMIN_GUIDE.ru.md

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -747,13 +747,22 @@ spec:
747747

748748
## Механизмы обеспечения надежности
749749

750+
### Перебалансировка ВМ
751+
752+
Платформа предоставляет возможность автоматизировать управление размещением уже запущенных виртуальных машин в кластере. Для активации этой функции необходимо включить модуль `descheduler`.
753+
754+
После включения модуля система самостоятельно следит за оптимальной работой виртуальных машин в кластере. Основные возможности модуля:
755+
756+
- Балансировка нагрузки — система анализирует резервирование процессора на узлах кластера. Если на узле зарезервировано более 80% процессора, система автоматически переносит часть ВМ на менее загруженные узлы. Это предотвращает перегрузку и обеспечивает стабильную работу ВМ.
757+
- Подходящее размещение — система проверяет, соответствует ли текущий узел требованиям каждой ВМ, соблюдены ли правила размещения по отношению к узлу или другим ВМ кластера. Например, если ВМ не должна находиться на одном узле с другой ВМ, модуль переносит её на более подходящий узел.
758+
750759
### Миграция и режим обслуживания
751760

752761
Миграция виртуальных машин является важной функцией в управлении виртуализированной инфраструктурой. Она позволяет перемещать работающие виртуальные машины с одного физического узла на другой без их отключения. Миграция виртуальных машин необходима для ряда задач и сценариев:
753762

754-
- **Балансировка нагрузки**. Перемещение виртуальных машин между узлами позволяет равномерно распределять нагрузку на серверы, обеспечивая использование ресурсов наилучшим образом.
755-
- **Перевод узла в режим обслуживания**. Виртуальные машины могут быть перемещены с узлов, которые нужно вывести из эксплуатации для выполнения планового обслуживания или обновления программного обеспечения.
756-
- **Обновление «прошивки» виртуальных машин**. Миграция позволяет обновить «прошивку» виртуальных машины, не прерывая их работу.
763+
- Балансировка нагрузки — перемещение виртуальных машин между узлами позволяет равномерно распределять нагрузку на серверы, обеспечивая использование ресурсов наилучшим образом.
764+
- Перевод узла в режим обслуживания — виртуальные машины могут быть перемещены с узлов, которые нужно вывести из эксплуатации для выполнения планового обслуживания или обновления программного обеспечения.
765+
- Обновление «прошивки» виртуальных машин — миграция позволяет обновить «прошивку» виртуальных машин, не прерывая их работу.
757766

758767
#### Запуск миграции произвольной машины
759768

docs/USER_GUIDE.md

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2189,7 +2189,12 @@ EOF
21892189
21902190
A virtual machine snapshot is a saved state of a virtual machine at a specific point in time. The `VirtualMachineSnapshot` resource is used to create virtual machine snapshots.
21912191
2192+
{{< alert level="warning" >}}
2193+
It is recommended to disconnect all images (VirtualImage/ClusterVirtualImage) from the virtual machine before creating its snapshot. Disk images are not saved together with the VM snapshot, and their absence in the cluster during recovery may cause the virtual machine to fail to start and remain in a Pending state while waiting for the images to become available.
2194+
{{< /alert >}}
2195+
21922196
#### Types of snapshots
2197+
21932198
Snapshots can be consistent or inconsistent, which is determined by the `requiredConsistency` parameter. By default, the `requiredConsistency` parameter is set to `true`, which requires a consistent snapshot.
21942199
21952200
A consistent snapshot guarantees a consistent and complete state of the virtual machine's disks. Such a snapshot can be created when one of the following conditions is met:
@@ -2224,6 +2229,12 @@ If you plan to use the snapshot as a template, perform the following steps in th
22242229
- Resetting initialization configurations (`cloud-init clean`).
22252230
- Create a snapshot with a clear indication not to save the IP address: `keepIPAddress: Never`
22262231
2232+
When creating an image, follow these recommendations:
2233+
2234+
- Disconnect all images if they were connected to the virtual machine.
2235+
- Do not use a static IP address for VirtualMachineIPAddress. If a static address has been used, change it to automatic.
2236+
- Create a snapshot with an explicit indication not to save the IP address: `keepIPAddress: Never`.
2237+
22272238
#### Creating snapshots
22282239
22292240
When creating a snapshot, you must specify the names of the `VolumeSnapshotClasses` volume snapshot classes that will be used to create snapshots of the disks attached to the virtual machine.
@@ -2275,6 +2286,25 @@ spec:
22752286
EOF
22762287
```
22772288
2289+
After successfully creating a snapshot, its status will show the list of resources saved in the snapshot.
2290+
2291+
Output example:
2292+
2293+
```yaml
2294+
status:
2295+
...
2296+
resources:
2297+
- apiVersion: virtualization.deckhouse.io/v1alpha2
2298+
kind: VirtualMachine
2299+
name: linux-vm
2300+
- apiVersion: v1
2301+
kind: Secret
2302+
name: cloud-init
2303+
- apiVersion: virtualization.deckhouse.io/v1alpha2
2304+
kind: VirtualDisk
2305+
name: linux-vm-root
2306+
```
2307+
22782308
### Restore from snapshots
22792309
22802310
The `VirtualMachineRestore` resource is used to restore a virtual machine from a snapshot. During the restore process, the following objects are automatically created in the cluster:
@@ -2311,6 +2341,8 @@ A snapshot of a virtual machine can be used both to create its exact copy (clone
23112341
23122342
This requires creating a `VirtualMachineRestore` resource and setting the renaming parameters in the `.spec.nameReplacements` block to avoid name conflicts.
23132343
2344+
The list of resources and their names are available in the VM snapshot status in the `status.resources` block.
2345+
23142346
Example manifest for restoring a VM from a snapshot:
23152347
23162348
```yaml
@@ -2347,4 +2379,15 @@ When restoring a virtual machine from a snapshot, it is important to consider th
23472379
2. For static IP addresses (`type: Static`) the value must be exactly the same as what was captured in the snapshot.
23482380
3. Automation-related secrets (such as cloud-init or sysprep configuration) must exactly match the configuration being restored.
23492381
2350-
Failure to do so will result in a restore error . This is because the system checks the integrity of the configuration and the uniqueness of the resources to prevent conflicts in the cluster.
2382+
Failure to do so will result in a restore error, and the VirtualMachineRestore resource will enter the `Failed` state. This is because the system checks the integrity of the configuration and the uniqueness of the resources to prevent conflicts in the cluster.
2383+
2384+
When restoring or cloning a virtual machine, the operation may be successful, but the VM will remain in `Pending` state.
2385+
This occurs if the VM depends on resources (such as disk images or virtual machine classes) or their configurations that have been changed or deleted at the time of restoration.
2386+
2387+
Check the VM's conditions block using the command:
2388+
2389+
```bash
2390+
d8 k vm get <vmname> -o json | jq ‘.status.conditions’
2391+
```
2392+
2393+
Check the output for errors related to missing or changed resources. Manually update the VM configuration to remove dependencies that are no longer available in the cluster.

docs/USER_GUIDE.ru.md

Lines changed: 43 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2209,6 +2209,10 @@ EOF
22092209

22102210
Снимок виртуальной машины — это сохранённое состояние виртуальной машины в определённый момент времени. Для создания снимков виртуальных машин используется ресурс `VirtualMachineSnapshot`.
22112211

2212+
{{< alert level="warning" >}}
2213+
Рекомендуется отключить все образы (VirtualImage/ClusterVirtualImage) от виртуальной машины перед созданием её снимка. Образы дисков не сохраняются вместе со снимком ВМ, и их отсутствие в кластере при восстановлении может привести к тому, что виртуальная машина не сможет запуститься и будет находиться в состоянии Pending, ожидая доступности образа.
2214+
{{< /alert >}}
2215+
22122216
#### Типы снимков
22132217

22142218
Снимки могут быть консистентными и неконсистентными, за это отвечает параметр `requiredConsistency`, по умолчанию его значение равно `true`, что означает требование консистентного снимка.
@@ -2244,6 +2248,12 @@ EOF
22442248
- Сброс конфигураций инициализации (`cloud-init clean`).
22452249
- Создавайте снимок с явным указанием не сохранять IP-адрес: `keepIPAddress: Never`
22462250

2251+
При создании снимка следуйте следующим рекомендациям:
2252+
2253+
- Отключите все образы, если они были подключены к виртуальной машине.
2254+
- Не используйте статический IP-адрес в VirtualMachineIPAddress. Если использовался статический адрес, сконвертируйте его в автоматический.
2255+
- Создавайте снимок с явным указанием не сохранять IP-адрес: `keepIPAddress: Never`.
2256+
22472257
#### Создание снимков
22482258

22492259
При создании снимка необходимо указать названия классов снимков томов `VolumeSnapshotClass`, которые будут использованы для создания снимков дисков, подключенных к виртуальной машине.
@@ -2295,6 +2305,25 @@ spec:
22952305
EOF
22962306
```
22972307

2308+
После успешного создания снимка, в его статусе будет отражен перечень ресурсов, которые были сохранены в снимке .
2309+
2310+
Пример вывода:
2311+
2312+
```yaml
2313+
status:
2314+
...
2315+
resources:
2316+
- apiVersion: virtualization.deckhouse.io/v1alpha2
2317+
kind: VirtualMachine
2318+
name: linux-vm
2319+
- apiVersion: v1
2320+
kind: Secret
2321+
name: cloud-init
2322+
- apiVersion: virtualization.deckhouse.io/v1alpha2
2323+
kind: VirtualDisk
2324+
name: linux-vm-root
2325+
```
2326+
22982327
### Восстановление из снимков
22992328

23002329
Для восстановления виртуальной машины из снимка используется ресурс `VirtualMachineRestore` . В процессе восстановления в кластере автоматически создаются следующие объекты:
@@ -2331,6 +2360,8 @@ EOF
23312360

23322361
Для этого требуется создать ресурс `VirtualMachineRestore` и задать параметры переименования в блоке `.spec.nameReplacements`, чтобы избежать конфликтов имён.
23332362

2363+
Перечень ресурсов и их имена доступны в статусе снимка ВМ в блоке `status.resources`.
2364+
23342365
Пример манифеста для восстановления ВМ из снимка:
23352366

23362367
```yaml
@@ -2367,4 +2398,15 @@ EOF
23672398
2. Для статических IP-адресов (`type: Static`) значение должно полностью совпадать с тем, что было зафиксировано в снимке.
23682399
3. Секреты, связанные с автоматизацией (например, конфигурация cloud-init или sysprep), должны точно соответствовать восстанавливаемой конфигурации.
23692400

2370-
Несоблюдение этих требований приведёт к ошибке восстановления . Это связано с тем, что система проверяет целостность конфигурации и уникальность ресурсов для предотвращения конфликтов в кластере.
2401+
Несоблюдение этих требований приведёт к ошибке восстановления, и ресурс VirtualMachineRestore перейдет в состояние `Failed`. Это связано с тем, что система проверяет целостность конфигурации и уникальность ресурсов для предотвращения конфликтов в кластере.
2402+
2403+
При восстановлении или клонировании виртуальной машины операция может быть выполнена успешно, но ВМ останется в статусе `Pending`.
2404+
Это происходит, если ВМ зависит от ресурсов (например, образов дисков или классов виртуальных машин) или их конфигураций, которые были изменены или удалены на момент восстановления.
2405+
2406+
Проверьте блок условий ВМ с помощью команды:
2407+
2408+
```bash
2409+
d8 k vm get <vmname> -o json | jq '.status.conditions'
2410+
```
2411+
2412+
Проверьте вывод на наличие ошибок, связанных с отсутствующими или изменёнными ресурсами. Вручную обновите конфигурацию ВМ, чтобы устранить зависимости, которые больше не доступны в кластере.

0 commit comments

Comments
 (0)