From 01b82bab4ae93e02a54e4e47cbd02fc79ce9fae4 Mon Sep 17 00:00:00 2001 From: Pavel Tishkov Date: Thu, 15 Feb 2024 08:57:01 +0300 Subject: [PATCH] update Signed-off-by: Pavel Tishkov --- docs/EXAMPLES_RU.md | 91 ++++++++++++++++++--------------------------- docs/README_RU.md | 13 ++++--- 2 files changed, 44 insertions(+), 60 deletions(-) diff --git a/docs/EXAMPLES_RU.md b/docs/EXAMPLES_RU.md index 6aac1e38e..5cded788e 100644 --- a/docs/EXAMPLES_RU.md +++ b/docs/EXAMPLES_RU.md @@ -32,7 +32,7 @@ spec: После создания `VirtualMachineDiks` в namespace vms, запустится под с именем `importer-*`, который осуществит загрузку заданного образа. -3. Посмотрите текущий статус ресурса с помощью комнады: +3. Посмотрите текущий статус ресурса с помощью команды: ```bash kubectl -n vms get virtualmachinedisk -o wide @@ -95,28 +95,22 @@ kubectl -n default get virtualmachine dvp console -n vms linux-vm ``` -7. Подключитесь к машине с использованием VNC: - -```bash -dvp vnc -n vms linux-vm -``` - -После выполнения команды запустится VNC-клиент, используемый в системе по умолчанию. Альтернативный способ подключения — с помощью параметра `--proxy-only` пробросить VNC-порт на локальную машину. - ## Образы `VirtualMachineImage` и `ClusterVirtualMachineImage` используются для хранения образов виртуальных машин. + Образы могут быть следующих видов: + - Образ диска виртуальной машины, который предназначен для тиражирования идентичных дисков виртуальных машин. - ISO-образ, содержащий файлы для установки ОС. Этот тип образа подключается к виртуальной машине как cdrom. -Ресурс `VirtualMachineImage` доступен только в том пространстве имен, в котором был создан, а `ClusterVirtualMachineImage` доступен для всех пространств имен внутри кластера. +Ресурс `VirtualMachineImage` доступен только в том пространстве имен, в котором был создан, а `ClusterVirtualMachineImage` доступен для всех пространств имен внутри кластера. Оба этих ресурсов хранят свои данные в `DVCR`. -В зависимости от конфигурации, ресурс `VirtualMachineImage` может хранить данные в `DVCR` или использовать дисковое хранилище, предоставляемое платформой (PV). `ClusterVirtualMachineImage` хранит данные только в `DVCR`, обеспечивая единый доступ ко всем образам для всех пространств имен в кластере. +Образы могут быть получены из различных источников, таких как HTTP-серверы, на которых расположены файлы образов, или контейнерные реестры (container registries), где образы сохраняются и становятся доступны для скачивания. Также существует возможность загрузить образы напрямую из командной строки, используя утилиту `curl`. ### Создание и использование образа c HTTP-ресурса -1. Создадайте `VirtualMachineImage` и в качестве хранилища образов используйте `DVCR`: +1. Создайте `VirtualMachineImage`: ```yaml apiVersion: virtualization.deckhouse.io/v1alpha2 @@ -141,30 +135,7 @@ kubectl -n vms get virtualmachineimage # ubuntu-img Ready false 100% 10m ``` -Для хранения образа в дисковом хранилище, предоставляемом платформой, настройки `storage` будут выглядеть следующим образом: - -```yaml -spec: - storage: Kubernetes - persistentVolumeClaim: - storageClassName: "your-storage-class-name" -``` - -где `your-storage-class-name` — это название StorageClass, который будет использоваться. - -3. Для просмотра списка доступных StorageClass'ов выполните следующую команду: - -```bash -kubectl get storageclass - -# Пример вывода команды: -# NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE -# linstor-thin-r1 linstor.csi.linbit.com Delete WaitForFirstConsumer true 20d -# linstor-thin-r2 linstor.csi.linbit.com Delete WaitForFirstConsumer true 20d -# linstor-thin-r3 linstor.csi.linbit.com Delete WaitForFirstConsumer true 20d -``` - -Ресурс `ClusterVirtualMachineImage` создается по аналогии, но не требует указания настроек `storage`: +3. Ресурс `ClusterVirtualMachineImage` создается по аналогии, но не требует указания настроек `storage`: ```yaml apiVersion: virtualization.deckhouse.io/v1alpha2 @@ -187,28 +158,26 @@ kubectl get clustervirtualmachineimage # ubuntu-img Ready false 100% 11m ``` -Образы могут быть получены из различных источников, таких как HTTP-серверы, на которых расположены файлы образов, или контейнерные реестры (container registries), где образы сохраняются и становятся доступны для скачивания. Также существует возможность загрузить образы напрямую из командной строки, используя утилиту `curl`. - ### Создание и использование образа из container registry 1. Cформируйте образ для хранения в `container registry`. -Ниже представлен пример создания docker-образа c диском Ubuntu 22.04. +Ниже представлен пример создания образа c диском Ubuntu 22.04. -* Загрузите образ локально: +- Загрузите образ локально: ```bash curl -L https://cloud-images.ubuntu.com/minimal/releases/jammy/release-20230615/ubuntu-22.04-minimal-cloudimg-amd64.img -o ubuntu2204.img ``` -* Создайте Dockerfile со следующим содержимым: +- Создайте Dockerfile со следующим содержимым: ```Dockerfile FROM scratch COPY ubuntu2204.img /disk/ubuntu2204.img ``` -* Соберите образ и загрузите его в `container registry`. В качестве `container registry` в примере ниже использован docker.io. для выполнения вам необходимо иметь учетную запись сервиса и настроенное окружение. +- Соберите образ и загрузите его в `container registry`. В качестве `container registry` в примере ниже использован docker.io. для выполнения вам необходимо иметь учетную запись сервиса и настроенное окружение. ```bash docker build -t docker.io/username/ubuntu2204:latest @@ -216,13 +185,13 @@ docker build -t docker.io/username/ubuntu2204:latest где `username` — имя пользователя, указанное при регистрации в docker.io. -* Загрузите созданный образ в `container registry` с помощью команды: +- Загрузите созданный образ в `container registry` с помощью команды: ```bash docker push docker.io/username/ubuntu2204:latest ``` -* Чтобы использовать этот образ, создайте в качестве примера ресурс `ClusterVirtualMachineImage`: +- Чтобы использовать этот образ, создайте в качестве примера ресурс `ClusterVirtualMachineImage`: ```yaml apiVersion: virtualization.deckhouse.io/v1alpha2 @@ -236,7 +205,7 @@ spec: image: docker.io/username/ubuntu2204:latest ``` -* Чтобы посмотреть ресурс и его статус, выполните команду: +- Чтобы посмотреть ресурс и его статус, выполните команду: ```bash kubectl get clustervirtalmachineimage @@ -271,7 +240,12 @@ kubectl get clustervirtualmachineimages some-image -o json | jq .status.uploadCo ```bash curl -L http://download.cirros-cloud.net/0.5.1/cirros-0.5.1-x86_64-disk.img -o cirros.img -https://virtualization.example.com/upload/dSJSQW0fSOerjH5ziJo4PEWbnZ4q6ffc -T cirros.img +``` + +4. Выполните загрузку образа: + +```bash +curl https://virtualization.example.com/upload/dSJSQW0fSOerjH5ziJo4PEWbnZ4q6ffc -T cirros.img ``` После завершения работы команды `curl` образ должен быть создан. @@ -293,6 +267,11 @@ kubectl get clustervirtualmachineimages ```bash kubectl get storageclass + +# NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE +# linstor-thin-r1 linstor.csi.linbit.com Delete WaitForFirstConsumer true 27d +# linstor-thin-r2 linstor.csi.linbit.com Delete WaitForFirstConsumer true 27d +# linstor-thin-r3 linstor.csi.linbit.com Delete WaitForFirstConsumer true 27d ``` ### Создание пустого диска @@ -371,13 +350,15 @@ spec: name: vmd-blank # Имя подключаемого диска. ``` -Если в указанном ресурсе изменить имя виртуальной машины на имя другой виртуальной машины, диск будет перенаправлен от одной виртуальной машины к другой. При удалении ресурса `VirtualMachineBlockDeviceAttachment` диск от виртуальной машины будет отключен. Чтобы посмотреть список подключенных дисков в работающей виртуальной машине, выполните команду: ```bash kubectl get virtualmachineblockdeviceattachments + +# NAME PHASE +# vmd-blank-attachment Attached ``` ## Виртуальные машины @@ -392,7 +373,7 @@ kubectl get virtualmachineblockdeviceattachments ### Создание диска для виртуальной машины -Создайте диск с установыленной ОС для виртуальной машины: +Создайте диск с установленной ОС для виртуальной машины: ```yaml apiVersion: virtualization.deckhouse.io/v1alpha2 @@ -489,7 +470,7 @@ kubectl get virtualmachine 2. Чтобы зафиксировать IP-адрес виртуальной машины перед ее запуском, выполните следующие шаги: -* Создайте ресурс `VirtualMachineIPAddressClaim`, в котором зафиксирован желаемый IP-адрес виртуальной машины: +- Создайте ресурс `VirtualMachineIPAddressClaim`, в котором зафиксирован желаемый IP-адрес виртуальной машины: ```yaml apiVersion: virtualization.deckhouse.io/v1alpha2 @@ -501,7 +482,7 @@ spec: address: "W.X.Y.Z" ``` -* Зафиксируйте изменения в спецификации виртуальной машины: +- Зафиксируйте изменения в спецификации виртуальной машины: ```yaml spec: @@ -545,7 +526,7 @@ cat < В отличие от традиционных систем виртуализации, мы используем политику запуска для определения состояния виртуальной машины, которая определяет требуемое состояние виртуальной машины в любое время. diff --git a/docs/README_RU.md b/docs/README_RU.md index 4705375ff..eec1fdd98 100644 --- a/docs/README_RU.md +++ b/docs/README_RU.md @@ -50,16 +50,19 @@ API предоставляет возможности для создания и ### Образы виртуальных машин и загрузочные образы -Образы представляют собой неизменяемые ресурсы, которые позволяют создавать новые виртуальные машины на основе предварительно настроенных и сконфигурированных образов. В зависимости от типа, образы могут быть в форматах `raw`, `qcow2`, `vmdk` и других для образов дисков виртуальных машин, а также в формате `iso` для установочных образов, которые могут быть подключены как `cdrom-устройства`. +Образы представляют собой неизменяемые ресурсы, которые позволяют создавать новые виртуальные машины на основе предварительно настроенных и сконфигурированных образов. В зависимости от типа, образы могут быть в форматах `raw`, `qcow2`, `vmdk` и других для образов дисков виртуальных машин, а также в формате `iso` для установочных образов. -Для загрузки образов можно использовать внешние источники, такие как `HTTP-сервер`, `container registry`, а также загрузить локальный файл через командную строку (`cli`). Также существует возможность создавать образы из дисков виртуальных машин, например, при необходимости создания базового образа для тиражирования (`golden-image`). +Для загрузки образов можно использовать внешние источники, такие как `HTTP-сервер`, `container registry`, а также загрузить локальный файл через командную строку (`cli`). -> Образы могут быть подключены к виртуальной машине только в режиме для чтения. +> Образы могут быть подключены к виртуальной машине. +> +> - ISO-образы - как `cdrom-устройства` и всегда доступны только в режиме для чтения (`ReadOnly`). +> - Образы дисков виртуальных машин - как эфимерные диски, после рестарта машины все записанные на них данные будут утеряны Образы бывают двух типов: -* кластерные `ClusterVirtualMachineImage`, которые доступны для всех пользователей платформы; -* ограниченные по пространству имен `VirtualMachineImage`, которые доступны только для пользователей `namespace`, в котором они созданы. +- кластерные `ClusterVirtualMachineImage`, которые доступны для всех пользователей платформы; +- ограниченные по пространству имен `VirtualMachineImage`, которые доступны только для пользователей `namespace`, в котором они созданы. Все образы хранятся в `DVCR`.