Skip to content

Commit

Permalink
chore(module): update faq install
Browse files Browse the repository at this point in the history
Signed-off-by: Pavel Tishkov <pavel.tishkov@flant.com>
  • Loading branch information
fl64 committed Oct 4, 2024
1 parent b0c1615 commit fa27d7f
Show file tree
Hide file tree
Showing 10 changed files with 272 additions and 212 deletions.
20 changes: 13 additions & 7 deletions docs/ADMIN_GUIDE_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,26 @@ title: "Руководство администратора"
weight: 40
---

В данном разделе приведена инфрмация по созданию и управлению ресурсами доступными Администратору платформы.
В данном разделе приведена информация по созданию и управлению ресурсами доступными Администратору платформы.

{{< alert level="info" >}}
С детальным описанием параметров настройки ресурсов приведенных в данном документе вы можете ознакомится в разделе [Custom Resources](cr.html)
{{< /alert >}}

# Образы

Ресурсы `ClusterVirtualImage` используются для хранения образов виртуальных машин, они доступны в рамках всего кластера для всех неймспейсов или проектов.
Ресурс `ClusterVirtualImage` предназначен для загрузки образов виртуальных машин и их последующего использования для создания дисков виртуальных машин. Данный ресурс доступен во всём кластере для всех неймспейсов или проектов.

Образы бывают следующих видов:
Процесс создания образа включает следующие шаги:

- ISO-образ — это установочный образ, который обычно используется для установки операционной системы с нуля. Такие образы обычно распространяются производителями операционных систем и применяются для установки ОС на физические и виртуальные серверы.
- Образ диска виртуальной машины с предустановленной системой — это диск с уже установленной и настроенной операционной системой, готовой к использованию сразу после создания виртуальной машины. Некоторые производители предоставляют такие образы, и они могут быть в различных форматах, таких как qcow2, raw, vmdk и других.
- Пользователь создаёт ресурс `ClusterVirtualImage`.
- После создания образ автоматически загружается из указанного в спецификации образа источника в хранилище (`DVCR`).
- После завершения загрузки ресурс становится доступен для создания дисков.

Существуют следующие виды образов:

- ISO-образ — это установочный образ, который обычно используется для начальной установки операционной системы. Такие образы распространяются производителями операционных систем и применяются для установки ОС на физические и виртуальные серверы.
- Образ диска виртуальной машины с предустановленной системой — это образ диска с уже установленной и настроенной операционной системой, готовой к использованию сразу после создания виртуальной машины. Такие образы предоставляются некоторыми производителями и могут быть представлены в различных форматах, таких как qcow2, raw, vmdk и других.

Примеры ресурсов, где можно получить образ диска виртуальной машины:

Expand All @@ -30,7 +36,6 @@ weight: 40

С полным описанием параметров конфигурации образов можно ознакомиться по следующим [ссылкам](cr.html#clustervirtualimage)


## Создание образа с HTTP-сервера

Рассмотрим вариант создания кластерного образа
Expand Down Expand Up @@ -66,6 +71,7 @@ d8 k get cvi ubuntu-22.04
После создания ресурс `ClusterVirtualImage` может находиться в следующих состояниях (фазах):

- `Pending` - ожидание готовности всех зависимых ресурсов, требующихся для создания образа.
- `WaitForUserUpload` - ожидание загрузки образа пользователем (фаза присутствует только для `type=Upload`).
- `Provisioning` - идет процесс создания образа.
- `Ready` - образ создан и готов для использования.
- `Failed` - произошла ошибка в процессе создания образа.
Expand Down Expand Up @@ -93,6 +99,7 @@ d8 k get cvi ubuntu-22.04 -w
```bash
d8 k describe cvi ubuntu-22.04
```

## Создание образа из Container Registry

Образ, хранящийся в Container Registry имеет определенный формат. Рассмотрим на примере:
Expand Down Expand Up @@ -190,7 +197,6 @@ d8 k get cvi some-image
# some-image Ready false 100% 1m
```


# Классы виртуальных машин

Ресурс `VirtualMachineClass` предназначен для централизованной конфигурации предпочтительных параметров виртуальных машин. Он позволяет определять инструкции CPU и политики конфигурации ресурсов CPU и памяти для виртуальных машин, а также определять соотношения этих ресурсов. Помимо этого, `VirtualMachineClass` обеспечивает управление размещением виртуальных машин по узлам платформы. Это позволяет администраторам эффективно управлять ресурсами платформы виртуализации и оптимально размещать виртуальные машины на узлах платформы.
Expand Down
81 changes: 1 addition & 80 deletions docs/FAQ.ru.md → docs/FAQ_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ title: "FAQ"
weight: 70
---

## Как установить ОС в виртуальной машине из ISO-образа?
# Как установить ОС в виртуальной машине из ISO-образа?

**Установка ОС в виртуальной машине из ISO-образа на примере установки ОС Windows**

Expand Down Expand Up @@ -108,85 +108,6 @@ spec:
d8 v vnc -n default win-vm
```

## Как создать образ виртуальной машины для container registry

Образ диска виртуальной машины, хранящийся в container registry, должен быть сформирован специальным образом.

Пример Dockerfile для создания образа:

```Dockerfile
FROM scratch
COPY image-name.img /disk/image-name.img
```

Соберите образ и отправьте его в `container registry`:

```bash
docker build -t docker.io/username/image:latest
docker push docker.io/username/image:latest
```

## Как перенаправить трафик на виртуальную машину

Так как виртуальная машина функционирует в кластере Kubernetes, направление сетевого трафика осуществляется аналогично направлению трафика на поды.

1. Для этого создайте сервис с требуемыми настройками.

В качестве примера приведена виртуальная машина с HTTP-сервисом, опубликованным на порте 80, и следующим набором меток:

```yaml
apiVersion: virtualization.deckhouse.io/v1alpha2
kind: VirtualMachine
metadata:
name: web
labels:
vm: web
spec: ...
```

2. Чтобы направить сетевой трафик на 80-й порт виртуальной машины, создайте сервис:

```yaml
apiVersion: v1
kind: Service
metadata:
name: svc-1
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 80
selector:
app: old
```

Можно изменять метки виртуальной машины без необходимости перезапуска, что позволяет настраивать перенаправление сетевого трафика между различными сервисами в реальном времени.
Предположим, что был создан новый сервис и требуется перенаправить трафик на виртуальную машину от этого сервиса:

```yaml
apiVersion: v1
kind: Service
metadata:
name: svc-2
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 80
selector:
app: new
```

При изменении метки на виртуальной машине, трафик с сервиса `svc-2` будет перенаправлен на виртуальную машину:

```yaml
metadata:
labels:
app: old
```

# Как увеличить размер DVCR

Expand Down
86 changes: 58 additions & 28 deletions docs/INSTALL_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,59 +3,89 @@ title: "Установка"
weight: 15
---

Для установки Deckhouse Virtualization Platform выполните следующие шаги:
# Требования к DVP

1. Разверните кластер Deckhouse Kubernetes Platform по [инструкции](https://deckhouse.ru/gs/#%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B).
## Требования к ресурсам:

Рекомендуются следующие минимальные ресурсы для инфраструктурных узлов в зависимости от их роли в кластере:

Мастер-узел — 4 CPU, 8 ГБ RAM, 60 ГБ дискового пространства на быстром диске (400+ IOPS);
Worker-узел — требования аналогичны требованиям к master-узлу, но во многом зависят от характера запускаемой на узле (узлах) нагрузки.

## Требования к узлам платформы:

Требования к процессору на узлах кластера, где планируется запускать виртуальные машины, включают:
- ОС на базе Linux:
- РЕД ОС 7.3, 8.0
- РОСА Сервер 7.9, 12.4, 12.5.1
- ALT Linux p10, 10.0, 10.1, 10.2, 11
- Astra Linux Special Edition 1.7.2, 1.7.3, 1.7.4, 1.7.5
- CentOS 7, 8, 9
- Debian 10, 11, 12
- Rocky Linux 8, 9
- Ubuntu 18.04, 20.04, 22.04, 24.04
- Версия ядра Linux >= 5.7
- ЦП с архитектурой x86_64 c с поддержкой инструкций Intel-VT (vmx) или AMD-V (svm)

- архитектуру x86_64 и поддержку инструкций Intel-VT или AMD-V;
- на узлах кластера поддерживается любая [совместимая](https://deckhouse.ru/documentation/v1/supported_versions.html#linux) ОС на базе Linux;
- ядро Linux на узлах кластера должно быть версии 5.7 или более новой;
- прочие требования к узлам кластера описаны в документе: [Подготовка к production](https://deckhouse.ru/guides/production.html).
# Порядок установки

1. Разверните кластер Deckhouse Kubernetes Platform по [инструкции](https://deckhouse.ru/gs/#%D0%B4%D1%80%D1%83%D0%B3%D0%B8%D0%B5-%D0%B2%D0%B0%D1%80%D0%B8%D0%B0%D0%BD%D1%82%D1%8B).

2. Включите необходимые модули.

Для хранения данных виртуальных машин необходимо включить один из следующих модулей согласно инструкции по их установке:
Для хранения данных виртуальных машин необходимо включить один или несколько из следующих модулей согласно инструкции по их установке:

- [SDS-Replicated-volume](https://deckhouse.ru/modules/sds-replicated-volume/stable/)
- [SDS-Local-volume](https://deckhouse.ru/modules/sds-local-volume/stable/)
- [CSI-nfs](https://deckhouse.ru/modules/csi-nfs/stable/)
- [CEPH-CSI](/documentation/v1/modules/031-ceph-csi/)

Также возможно использовать другие варианты хранилищ, поддерживающие создание блочных устройств с режимом доступа `RWX` (`ReadWriteMany`).
3. Установить StorageClass по умолчанию.
4. Включите модуль `virtualization`.
5. Включите модуль [console](https://deckhouse.ru/modules/console/stable/), который позволит управлять компонентами виртуализации через графический интерфейс (Данная возможность доступна только пользователям EE-редакции).

3. Создайте манифест mc.yaml со следующим содержимым:
Для включения возможности создания ВМ необходимо создать ресурс ModuleConfig virtualization.
Рассмотрим на примере:

```yaml
apiVersion: deckhouse.io/v1alpha1
kind: ModuleConfig
metadata:
name: virtualization
spec:
# Включаем модуль.
enabled: true
version: 1
settings:
# Перечень подсетей для виртуальных машин.
virtualMachineCIDRs:
- 10.10.10.0/24
- 10.20.10.0/24
- 10.30.10.0/24
- 11.11.22.33/32
# Настройки параметров хранилища образов виртуальных машин.
dvcr:
storage:
persistentVolumeClaim:
size: 50G
type: PersistentVolumeClaim
enabled: true # включить модуль
settings:
dvcr:
storage:
persistentVolumeClaim:
size: 50G
type: PersistentVolumeClaim
virtualMachineCIDRs:
- 10.66.10.0/24
version: 1
```
Примените созданный манифест с использованием команды `d8 k apply -f mc.yaml`.
Блок `.spec.settings.dvcr` описывает настройки для репозитория для хранения образов виртуальных машин, в данном блоке указывается размер хранилища предоставляемого для хранения образов `.spec.settings.dvcr.storage.persistentVolumeClaim.size`.

в блоке `.spec.settings.virtualMachineCIDRs` задается список подсетей. Адреса виртуальных машин будут выделятся автоматически или по по запросу из заданных диапазонов подсетей по порядку.

{{< alert level="info" >}}
Полный перечень параметров конфигурации приведен в разделе ["Настройки"](./configuration.html)
{{< /alert >}}

## Обновление платформы
Применим данный манифест `d8 k create -f ...` и дождемся когда появится `namespace` d8-virtualization со всеми его компонентами:

Как понять, что модуль включился:

```bash
d8 k get modules virtualization
# NAME WEIGHT STATE SOURCE STAGE STATUS
# virtualization 900 Enabled Embedded Ready
```

Статус модуля должен быть `Ready`.


# Обновление платформы

Deckhouse Virtualization Platform использует пять каналов обновлений предназначенных для использования в разных окружениях, к которым с точки зрения надежности применяются разные требования:

Expand Down
3 changes: 3 additions & 0 deletions docs/README_RU.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,11 +11,14 @@ Deckhouse Virtualization Platform позволяет декларативно с

- Запуск виртуальных машин с x86_64 совместимой ОС.
- Запуска виртуальных машин и контейнеризованных приложений в одном окружении.
- Запуск кластера DKP на виртуальных машинах.

![](./images/cases-vms.ru.png)

![](./images/cases-pods-and-vms.ru.png)

![](./images/cases.dkp.ru.png)

{{< alert level="warning" >}}
Если вы планируете использовать Deckhouse Virtualization Platform в production-среде, рекомендуется разворачивать его на физических серверах. Развертывание Deckhouse Virtualization Platform на виртуальных машинах также возможно, но в этом случае необходимо включить nested-виртуализацию.
{{< /alert >}}
Expand Down
Loading

0 comments on commit fa27d7f

Please sign in to comment.