diff --git a/crds/doc-ru-clustervirtualimage.yaml b/crds/doc-ru-clustervirtualimage.yaml index 105e96c72..c678a9c4e 100644 --- a/crds/doc-ru-clustervirtualimage.yaml +++ b/crds/doc-ru-clustervirtualimage.yaml @@ -1,165 +1,165 @@ spec: versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: | - Описывает образ диска виртуальной машины, который может использоваться в качестве источника данных для новых `VirtualDisks` или установочный образ (iso), который быть смонтирован в `VirtualMachines` напрямую. Этот тип ресурса доступен для всех пространств имен в кластере. + - name: v1alpha2 + schema: + openAPIV3Schema: + description: | + Описывает образ диска виртуальной машины, который может использоваться в качестве источника данных для новых `VirtualDisks` или установочный образ (iso), который быть смонтирован в `VirtualMachines` напрямую. Этот тип ресурса доступен для всех пространств имен в кластере. - > Этот ресурс не может быть изменен после его создания. + > Этот ресурс не может быть изменен после его создания. - Под капотом этого ресурса создается образ контейнера, который хранится в специальном container registry (DVCR). - properties: - spec: - properties: - dataSource: - description: | - Тип источника, из которого будет создан образ. - properties: - containerImage: - description: | - Использование образа, хранящегося во внешнем реестре контейнеров. - Поддерживаются только реестры контейнеров с включенным TLS. - При необходимости используйте поле caBundle, чтобы предоставить собственную цепочку центров сертификации. - properties: - caBundle: - description: | - Цепочка сертификатов в формате Base64 для проверки подключения к container registry. - image: - description: | - Путь к образу в container registry. - imagePullSecret: - properties: - name: - description: | - Имя Secret'а, содержащего учетные данные для подключения к container registry. - namespace: - description: | - Пространство имен, в котором находится imagePullSecret. - http: - description: | - Создание образа из файла, опубликованного по URL. Поддерживаемые схемы: + Под капотом этого ресурса создается образ контейнера, который хранится в специальном container registry (DVCR). + properties: + spec: + properties: + dataSource: + description: | + Тип источника, из которого будет создан образ. + properties: + containerImage: + description: | + Использование образа, хранящегося во внешнем реестре контейнеров. + Поддерживаются только реестры контейнеров с включенным TLS. + При необходимости используйте поле caBundle, чтобы предоставить собственную цепочку центров сертификации. + properties: + caBundle: + description: | + Цепочка сертификатов в формате Base64 для проверки подключения к container registry. + image: + description: | + Путь к образу в container registry. + imagePullSecret: + properties: + name: + description: | + Имя Secret'а, содержащего учетные данные для подключения к container registry. + namespace: + description: | + Пространство имен, в котором находится imagePullSecret. + http: + description: | + Создание образа из файла, опубликованного по URL. Поддерживаемые схемы: - * HTTP; - * HTTPS. + * HTTP; + * HTTPS. - Для схемы HTTPS есть возможность отключить проверку TLS. - properties: - caBundle: - description: | - Цепочка сертификатов в формате Base64 для проверки TLS-сертификата сервера, на котором размещается образ. - checksum: - description: | - Контрольная сумма файла для проверки правильности загрузки или отсутствия изменений. Файл должен соответствовать всем указанным контрольным суммам. - properties: - md5: - description: "" - sha256: - description: "" - insecureSkipVerify: - description: | - Отключить проверку TLS-сертификата (небезопасно и не должно использоваться в производственных средах). - url: - description: | - Для образа расположенного по URL, поддерживаются следующие типы образов: - * qcow2; - * vmdk; - * vdi; - * iso; - * raw. + Для схемы HTTPS есть возможность отключить проверку TLS. + properties: + caBundle: + description: | + Цепочка сертификатов в формате Base64 для проверки TLS-сертификата сервера, на котором размещается образ. + checksum: + description: | + Контрольная сумма файла для проверки правильности загрузки или отсутствия изменений. Файл должен соответствовать всем указанным контрольным суммам. + properties: + md5: + description: "" + sha256: + description: "" + insecureSkipVerify: + description: | + Отключить проверку TLS-сертификата (небезопасно и не должно использоваться в производственных средах). + url: + description: | + Для образа расположенного по URL, поддерживаются следующие типы образов: + * qcow2; + * vmdk; + * vdi; + * iso; + * raw. - Для всех представленных типов образов поддерживается сжатие образов в следующих форматах: - * gz; - * xz. - objectRef: - description: | - Для создания образа использовать существующий `VirtualImage` или `ClusterVirtualImage`. - properties: - kind: - description: | - Ссылка на существующий `VirtualImage` или `ClusterVirtualImage`. - name: - description: | - Имя существующего `VirtualImage` или `ClusterVirtualImage`. - namespace: - description: | - Имя namespace'а, гда ресположен `VirtualImage`. - type: - description: | - Доступные типы источников для создания образа: + Для всех представленных типов образов поддерживается сжатие образов в следующих форматах: + * gz; + * xz. + objectRef: + description: | + Для создания образа использовать существующий `VirtualImage` или `ClusterVirtualImage`. + properties: + kind: + description: | + Ссылка на существующий `VirtualImage` или `ClusterVirtualImage`. + name: + description: | + Имя существующего `VirtualImage` или `ClusterVirtualImage`. + namespace: + description: | + Имя namespace'а, гда ресположен `VirtualImage`. + type: + description: | + Доступные типы источников для создания образа: - * `HTTP` — создать образ из файла, опубликованного на HTTP/HTTPS-сервере. - * `ContainerImage` — создать образ из образа в container registry. - * `VirtualImage` — создать новый образ из существующего `VirtualImage`. - * `ClusterVirtualImage` — создать новый образ из существующего `ClusterVirtualImage`. - * `Upload` — загрузить образ вручную, через веб-интерфейс. - status: - properties: - attachedToVirtualMachines: - description: | - Список виртуальных машин, использующих этот образ - cdrom: - description: | - Является ли образ форматом, который должен быть смонтирован как cdrom, например iso и т. д. - downloadSpeed: - description: | - Скорость загрузки образа из внешнего источника. Появляется только на этапе `Provisioning`. - properties: - avg: - description: | - Средняя скорость загрузки. - avgBytes: - description: | - Средняя скорость загрузки в байтах в секунду. - current: - description: | - Текущая скорость загрузки. - currentBytes: - description: | - Текущая скорость загрузки в байтах в секунду. - failureMessage: - description: | - Подробное описание ошибки. - failureReason: - description: | - Краткое описание причины ошибки. - format: - description: | - Обнаруженный формат образа. - phase: - description: | - Текущее состояние ресурса `ClusterVirtualImage`: + * `HTTP` — создать образ из файла, опубликованного на HTTP/HTTPS-сервере. + * `ContainerImage` — создать образ из образа в container registry. + * `VirtualImage` — создать новый образ из существующего `VirtualImage`. + * `ClusterVirtualImage` — создать новый образ из существующего `ClusterVirtualImage`. + * `Upload` — загрузить образ вручную, через веб-интерфейс. + status: + properties: + attachedToVirtualMachines: + description: | + Список виртуальных машин, использующих этот образ + cdrom: + description: | + Является ли образ форматом, который должен быть смонтирован как cdrom, например iso и т. д. + downloadSpeed: + description: | + Скорость загрузки образа из внешнего источника. Появляется только на этапе `Provisioning`. + properties: + avg: + description: | + Средняя скорость загрузки. + avgBytes: + description: | + Средняя скорость загрузки в байтах в секунду. + current: + description: | + Текущая скорость загрузки. + currentBytes: + description: | + Текущая скорость загрузки в байтах в секунду. + failureMessage: + description: | + Подробное описание ошибки. + failureReason: + description: | + Краткое описание причины ошибки. + format: + description: | + Обнаруженный формат образа. + phase: + description: | + Текущее состояние ресурса `ClusterVirtualImage`: - * Pending - Ресурс был создан и находится в очереди ожидания. - * Provisioning - Идет процесс создания ресурса (копирование/загрузка/создание образа). - * WaitForUserUpload - Ожидание загрузки образа пользователем. Путь для загрузки образа указывается в `.status.uploadCommand`. - * Ready - Ресурс создан и готов к использованию. - * Failed - При создании ресурса возникла проблема, подробности можно увидеть в `.status.failureReason` и `.status.failureMessage`. - * NotReady - Невозможно получить информацию о дочернем образе из-за невозможности подключения к DVCR. Ресурс не может быть использован. - * ImageLost - Дочернее образ ресурса отсутствует. Ресурс не может быть использован. - progress: - description: | - Ход копирования образа из источника в DVCR. Отображается только на этапе `Provisioning`. - size: - description: | - Обнаруженные размеры образа. - properties: - stored: - description: | - Размер образа в DVCR или PVC в человекочитаемом формате. - storedBytes: - description: Размер образа в DVCR или PVC в байтах. - unpacked: - description: | - Размер распакованного образа в человекочитаемом формате. - unpackedBytes: - description: | - Размер распакованного образа в байтах. - target: - properties: - registryURL: - description: | - Образ, созданный в DVCR. - uploadCommand: - description: | - Команда для загрузки образа для типа 'Upload'. + * Pending - Ресурс был создан и находится в очереди ожидания. + * Provisioning - Идет процесс создания ресурса (копирование/загрузка/создание образа). + * WaitForUserUpload - Ожидание загрузки образа пользователем. Путь для загрузки образа указывается в `.status.uploadCommand`. + * Ready - Ресурс создан и готов к использованию. + * Failed - При создании ресурса возникла проблема, подробности можно увидеть в `.status.failureReason` и `.status.failureMessage`. + * NotReady - Невозможно получить информацию о дочернем образе из-за невозможности подключения к DVCR. Ресурс не может быть использован. + * ImageLost - Дочернее образ ресурса отсутствует. Ресурс не может быть использован. + progress: + description: | + Ход копирования образа из источника в DVCR. Отображается только на этапе `Provisioning`. + size: + description: | + Обнаруженные размеры образа. + properties: + stored: + description: | + Размер образа в DVCR или PVC в человекочитаемом формате. + storedBytes: + description: Размер образа в DVCR или PVC в байтах. + unpacked: + description: | + Размер распакованного образа в человекочитаемом формате. + unpackedBytes: + description: | + Размер распакованного образа в байтах. + target: + properties: + registryURL: + description: | + Образ, созданный в DVCR. + uploadCommand: + description: | + Команда для загрузки образа для типа 'Upload'. diff --git a/crds/doc-ru-virtualdisk.yaml b/crds/doc-ru-virtualdisk.yaml index f64bf85c8..7f6e66f87 100644 --- a/crds/doc-ru-virtualdisk.yaml +++ b/crds/doc-ru-virtualdisk.yaml @@ -1,146 +1,146 @@ spec: versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: | - Описывает диск виртуальной машины, который может быть смонтирован в `VirtualMachines`. После создания ресурса изменить можно только размер диска `.spec.persistentVolumeClaim.size`, все остальные поля неизменяемы. + - name: v1alpha2 + schema: + openAPIV3Schema: + description: | + Описывает диск виртуальной машины, который может быть смонтирован в `VirtualMachines`. После создания ресурса изменить можно только размер диска `.spec.persistentVolumeClaim.size`, все остальные поля неизменяемы. - Под капотом ресурса создается PVC, в который заливаются данные из источника. - properties: - spec: - properties: - dataSource: - description: | - Тип источника, из которого будет создан диск. Если источник (.spec.dataSource) отсутствует, то будет создан пустой диск. - properties: - containerImage: - description: | - Для использования образа, хранящегося во внешнем реестре контейнеров, необходимо убедиться, что используется реестр, работающий по протоколу TLS. При необходимости предоставьте поле caBundle для передачи цепочки сертификатов. - properties: - caBundle: - description: | - Цепочка сертификатов в формате Base64 для проверки подключения к container registry. - image: - description: | - Путь к образу в container registry. - imagePullSecret: - properties: - name: - description: | - Имя Secret'а, содержащего учетные данные для подключения к container registry. - http: - description: | - Создать диск из файла, опубликованного по URL. Поддерживаемые схемы: + Под капотом ресурса создается PVC, в который заливаются данные из источника. + properties: + spec: + properties: + dataSource: + description: | + Тип источника, из которого будет создан диск. Если источник (.spec.dataSource) отсутствует, то будет создан пустой диск. + properties: + containerImage: + description: | + Для использования образа, хранящегося во внешнем реестре контейнеров, необходимо убедиться, что используется реестр, работающий по протоколу TLS. При необходимости предоставьте поле caBundle для передачи цепочки сертификатов. + properties: + caBundle: + description: | + Цепочка сертификатов в формате Base64 для проверки подключения к container registry. + image: + description: | + Путь к образу в container registry. + imagePullSecret: + properties: + name: + description: | + Имя Secret'а, содержащего учетные данные для подключения к container registry. + http: + description: | + Создать диск из файла, опубликованного по URL. Поддерживаемые схемы: - * HTTP; - * HTTPS. + * HTTP; + * HTTPS. - Для схемы HTTPS есть возможность пропустить проверку TLS. - properties: - caBundle: - description: | - Цепочка сертификатов в формате Base64 для проверки TLS-сертификата сервера, на котором размещается образ. - checksum: - description: | - Контрольная сумма файла для проверки правильности загрузки или отсутствия изменений. Файл должен соответствовать всем указанным контрольным суммам. - properties: - md5: - description: "" - sha256: - description: "" - insecureSkipVerify: - description: | - Отключить проверку TLS-сертификата (небезопасно и не должно использоваться в производственных средах). - url: - description: | - URL с образом. Поддерживаются следующие типы образов: - * qcow2; - * vmdk; - * vdi; - * iso; - * raw. + Для схемы HTTPS есть возможность пропустить проверку TLS. + properties: + caBundle: + description: | + Цепочка сертификатов в формате Base64 для проверки TLS-сертификата сервера, на котором размещается образ. + checksum: + description: | + Контрольная сумма файла для проверки правильности загрузки или отсутствия изменений. Файл должен соответствовать всем указанным контрольным суммам. + properties: + md5: + description: "" + sha256: + description: "" + insecureSkipVerify: + description: | + Отключить проверку TLS-сертификата (небезопасно и не должно использоваться в производственных средах). + url: + description: | + URL с образом. Поддерживаются следующие типы образов: + * qcow2; + * vmdk; + * vdi; + * iso; + * raw. - Для всех представленных типов образов поддерживается сжатие образов в следующих форматах: - * gz; - * xz. - objectRef: - description: | - Для создания образа использовать существующий `VirtualImage` или `ClusterVirtualImage`. - properties: - kind: - description: | - Ссылка на существующий `VirtualImage` или `ClusterVirtualImage`. - name: - description: | - Имя существующего `VirtualImage` или `ClusterVirtualImage`. - type: - description: | - Тип источника, из которого будет создан диск: + Для всех представленных типов образов поддерживается сжатие образов в следующих форматах: + * gz; + * xz. + objectRef: + description: | + Для создания образа использовать существующий `VirtualImage` или `ClusterVirtualImage`. + properties: + kind: + description: | + Ссылка на существующий `VirtualImage` или `ClusterVirtualImage`. + name: + description: | + Имя существующего `VirtualImage` или `ClusterVirtualImage`. + type: + description: | + Тип источника, из которого будет создан диск: - * `HTTP` — создать диск из файла, опубликованного на HTTP/HTTPS-сервере. - * `ContainerImage` — создать диск из образа в container registry. - * `VirtualImage` — создать диск из существующего `VirtualImage`. - * `ClusterVirtualImage` — создать диск из существующего `ClusterVirtualImage`. - * `Upload` — загрузить образ диска вручную, через веб-интерфейс. - persistentVolumeClaim: - description: | - Настройки для создания PVC для хранения диска. - properties: - size: - description: | - Желаемый размер PVC для хранения диска. Если диск создается из образа, то размер должен быть не меньше, чем исходный образ в распакованном состоянии. - storageClassName: - description: | - Имя класса StorageClass, требуемого для PersistentVolumeClaim. Дополнительная информация — https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. - status: - properties: - attachedToVirtualMachines: - description: | - Список виртуальных машин, использующих этот диск - capacity: - description: | - Емкость PVC в человекочитаемом формате. - downloadSpeed: - description: | - Скорость загрузки образа из внешнего источника. Появляется только на этапе `Provisioning`. - properties: - avg: - description: | - Средняя скорость загрузки. - avgBytes: - description: | - Средняя скорость загрузки в байтах в секунду. - current: - description: | - Текущая скорость загрузки. - currentBytes: - description: | - Текущая скорость загрузки в байтах в секунду. - failureMessage: - description: | - Подробное описание ошибки. - failureReason: - description: | - Краткое описание причины ошибки. - phase: - description: | - Текущее состояние ресурса `VirtualDisk`: + * `HTTP` — создать диск из файла, опубликованного на HTTP/HTTPS-сервере. + * `ContainerImage` — создать диск из образа в container registry. + * `VirtualImage` — создать диск из существующего `VirtualImage`. + * `ClusterVirtualImage` — создать диск из существующего `ClusterVirtualImage`. + * `Upload` — загрузить образ диска вручную, через веб-интерфейс. + persistentVolumeClaim: + description: | + Настройки для создания PVC для хранения диска. + properties: + size: + description: | + Желаемый размер PVC для хранения диска. Если диск создается из образа, то размер должен быть не меньше, чем исходный образ в распакованном состоянии. + storageClassName: + description: | + Имя класса StorageClass, требуемого для PersistentVolumeClaim. Дополнительная информация — https://kubernetes.io/docs/concepts/storage/persistent-volumes#class-1. + status: + properties: + attachedToVirtualMachines: + description: | + Список виртуальных машин, использующих этот диск + capacity: + description: | + Емкость PVC в человекочитаемом формате. + downloadSpeed: + description: | + Скорость загрузки образа из внешнего источника. Появляется только на этапе `Provisioning`. + properties: + avg: + description: | + Средняя скорость загрузки. + avgBytes: + description: | + Средняя скорость загрузки в байтах в секунду. + current: + description: | + Текущая скорость загрузки. + currentBytes: + description: | + Текущая скорость загрузки в байтах в секунду. + failureMessage: + description: | + Подробное описание ошибки. + failureReason: + description: | + Краткое описание причины ошибки. + phase: + description: | + Текущее состояние ресурса `VirtualDisk`: - * Pending — ресурс был создан и находится в очереди ожидания. - * Provisioning — идет процесс создания ресурса (копирование/загрузка/создание образа). - * WaitForUserUpload — ожидание загрузки образа пользователем. Путь для загрузки образа указывается в `.status.uploadCommand`. - * Ready — ресурс создан и готов к использованию. - * Failed — при создании ресурса возникла проблема, подробности можно увидеть в `.status.failureReason` и `.status.failureMessage`. - * PVCLost — дочерний PVC ресурса отсутствует. Ресурс не может быть использован. - progress: - description: | - Ход копирования образа из источника в DVCR. Отображается только на этапе `Provisioning`. - target: - properties: - persistentVolumeClaimName: - description: | - Имя созданного PersistentVolumeClaim для хранилища Kubernetes. - uploadCommand: - description: | - Команда для загрузки образа для типа 'Upload'. + * Pending — ресурс был создан и находится в очереди ожидания. + * Provisioning — идет процесс создания ресурса (копирование/загрузка/создание образа). + * WaitForUserUpload — ожидание загрузки образа пользователем. Путь для загрузки образа указывается в `.status.uploadCommand`. + * Ready — ресурс создан и готов к использованию. + * Failed — при создании ресурса возникла проблема, подробности можно увидеть в `.status.failureReason` и `.status.failureMessage`. + * PVCLost — дочерний PVC ресурса отсутствует. Ресурс не может быть использован. + progress: + description: | + Ход копирования образа из источника в DVCR. Отображается только на этапе `Provisioning`. + target: + properties: + persistentVolumeClaimName: + description: | + Имя созданного PersistentVolumeClaim для хранилища Kubernetes. + uploadCommand: + description: | + Команда для загрузки образа для типа 'Upload'. diff --git a/crds/doc-ru-virtualimage.yaml b/crds/doc-ru-virtualimage.yaml index 826239729..0e6af2da9 100644 --- a/crds/doc-ru-virtualimage.yaml +++ b/crds/doc-ru-virtualimage.yaml @@ -1,162 +1,162 @@ spec: versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: | - Описывает образ диска виртуальной машины, который может использоваться в качестве источника данных для новых `VirtualDisks` или установочный образ (iso), который быть смонтирован в `VirtualMachines` напрямую. + - name: v1alpha2 + schema: + openAPIV3Schema: + description: | + Описывает образ диска виртуальной машины, который может использоваться в качестве источника данных для новых `VirtualDisks` или установочный образ (iso), который быть смонтирован в `VirtualMachines` напрямую. - > Этот ресурс не может быть изменен после его создания. + > Этот ресурс не может быть изменен после его создания. - Под капотом этого ресурса создается образ контейнера, хранящийся в специальном container registry (DVCR). - properties: - spec: - properties: - dataSource: - description: | - Тип источника, из которого будет создан образ. - properties: - containerImage: - description: | - Для использования образа, хранящегося во внешнем реестре контейнеров, необходимо убедиться, что используется реестр, работающий по протоколу TLS. При необходимости предоставьте поле caBundle для передачи цепочки сертификатов. - properties: - caBundle: - description: | - Цепочка сертификатов в формате Base64 для проверки подключения к container registry. - image: - description: | - Путь к образу в container registry. - imagePullSecret: - properties: - name: - description: | - Имя Secret'а, содержащего учетные данные для подключения к container registry. - http: - description: | - Создать образ из файла, опубликованного по URL. Поддерживаемые схемы: + Под капотом этого ресурса создается образ контейнера, хранящийся в специальном container registry (DVCR). + properties: + spec: + properties: + dataSource: + description: | + Тип источника, из которого будет создан образ. + properties: + containerImage: + description: | + Для использования образа, хранящегося во внешнем реестре контейнеров, необходимо убедиться, что используется реестр, работающий по протоколу TLS. При необходимости предоставьте поле caBundle для передачи цепочки сертификатов. + properties: + caBundle: + description: | + Цепочка сертификатов в формате Base64 для проверки подключения к container registry. + image: + description: | + Путь к образу в container registry. + imagePullSecret: + properties: + name: + description: | + Имя Secret'а, содержащего учетные данные для подключения к container registry. + http: + description: | + Создать образ из файла, опубликованного по URL. Поддерживаемые схемы: - * HTTP; - * HTTPS. + * HTTP; + * HTTPS. - Для схемы HTTPS есть возможность пропустить проверку TLS. - properties: - caBundle: - description: | - Цепочка сертификатов в формате Base64 для проверки TLS-сертификата сервера, на котором размещается образ. - checksum: - description: | - Контрольная сумма файла для проверки правильности загрузки или отсутствия изменений. Файл должен соответствовать всем указанным контрольным суммам. - properties: - md5: - description: "" - sha256: - description: "" - insecureSkipVerify: - description: | - Отключить проверку TLS-сертификата (небезопасно и не должно использоваться в производственных средах). - url: - description: | - URL с образом. Поддерживаются следующие типы образов: - * qcow2; - * vmdk; - * vdi; - * iso; - * raw. + Для схемы HTTPS есть возможность пропустить проверку TLS. + properties: + caBundle: + description: | + Цепочка сертификатов в формате Base64 для проверки TLS-сертификата сервера, на котором размещается образ. + checksum: + description: | + Контрольная сумма файла для проверки правильности загрузки или отсутствия изменений. Файл должен соответствовать всем указанным контрольным суммам. + properties: + md5: + description: "" + sha256: + description: "" + insecureSkipVerify: + description: | + Отключить проверку TLS-сертификата (небезопасно и не должно использоваться в производственных средах). + url: + description: | + URL с образом. Поддерживаются следующие типы образов: + * qcow2; + * vmdk; + * vdi; + * iso; + * raw. - Для всех представленных типов образов поддерживается сжатие образов в следующих форматах: - * gz; - * xz. - objectRef: - description: | - Для создания образа использовать существующий `VirtualImage` или `ClusterVirtualImage`. - properties: - kind: - description: | - Ссылка на существующий `VirtualImage` или `ClusterVirtualImage`. - name: - description: | - Имя существующего `VirtualImage` или `ClusterVirtualImage`. - type: - description: | - Тип источника, из которого будет создан образ: + Для всех представленных типов образов поддерживается сжатие образов в следующих форматах: + * gz; + * xz. + objectRef: + description: | + Для создания образа использовать существующий `VirtualImage` или `ClusterVirtualImage`. + properties: + kind: + description: | + Ссылка на существующий `VirtualImage` или `ClusterVirtualImage`. + name: + description: | + Имя существующего `VirtualImage` или `ClusterVirtualImage`. + type: + description: | + Тип источника, из которого будет создан образ: - * `HTTP` — создать образ из файла, опубликованного на HTTP/HTTPS-сервере. - * `ContainerImage` — создать образ из образа в container registry. - * `VirtualImage` — создать образ из другого существующего `VirtualImage`. - * `ClusterVirtualImage` — создать образ из другого существующего `ClusterVirtualImage`. - * `Upload` — загрузить образ вручную, через веб-интерфейс. - storage: - description: | - Тип хранилища для хранения образа: + * `HTTP` — создать образ из файла, опубликованного на HTTP/HTTPS-сервере. + * `ContainerImage` — создать образ из образа в container registry. + * `VirtualImage` — создать образ из другого существующего `VirtualImage`. + * `ClusterVirtualImage` — создать образ из другого существующего `ClusterVirtualImage`. + * `Upload` — загрузить образ вручную, через веб-интерфейс. + storage: + description: | + Тип хранилища для хранения образа: - * `ContainerRegistry` — использовать container registry (DVCR). В этом случае образы будут загружаться в контейнер, а затем в DVCR (поставляется с модулем виртуализации). - status: - properties: - attachedToVirtualMachines: - description: | - Список виртуальных машин, использующих этот образ - cdrom: - description: | - Является ли образ форматом, который должен быть смонтирован как cdrom, например iso и т. д. - downloadSpeed: - description: | - Скорость загрузки образа из внешнего источника. Появляется только на этапе `Provisioning`. - properties: - avg: - description: | - Средняя скорость загрузки. - avgBytes: - description: | - Средняя скорость загрузки в байтах в секунду. - current: - description: | - Текущая скорость загрузки. - currentBytes: - description: | - Текущая скорость загрузки в байтах в секунду. - failureMessage: - description: | - Подробное описание ошибки. - failureReason: - description: | - Краткое описание причины ошибки. - format: - description: | - Обнаруженный формат образа. - phase: - description: | - Текущее состояние ресурса `VirtualImage`: + * `ContainerRegistry` — использовать container registry (DVCR). В этом случае образы будут загружаться в контейнер, а затем в DVCR (поставляется с модулем виртуализации). + status: + properties: + attachedToVirtualMachines: + description: | + Список виртуальных машин, использующих этот образ + cdrom: + description: | + Является ли образ форматом, который должен быть смонтирован как cdrom, например iso и т. д. + downloadSpeed: + description: | + Скорость загрузки образа из внешнего источника. Появляется только на этапе `Provisioning`. + properties: + avg: + description: | + Средняя скорость загрузки. + avgBytes: + description: | + Средняя скорость загрузки в байтах в секунду. + current: + description: | + Текущая скорость загрузки. + currentBytes: + description: | + Текущая скорость загрузки в байтах в секунду. + failureMessage: + description: | + Подробное описание ошибки. + failureReason: + description: | + Краткое описание причины ошибки. + format: + description: | + Обнаруженный формат образа. + phase: + description: | + Текущее состояние ресурса `VirtualImage`: - * Pending — ресурс был создан и находится в очереди ожидания. - * Provisioning — идет процесс создания ресурса (копирование/загрузка/создание образа). - * WaitForUserUpload — ожидание загрузки образа пользователем. Путь для загрузки образа указывается в `.status.uploadCommand`. - * Ready — ресурс создан и готов к использованию. - * Failed — при создании ресурса возникла проблема, подробности можно увидеть в `.status.failureReason` и `.status.failureMessage`. - * NotReady — невозможно получить информацию о дочернем образе из-за невозможности подключения к DVCR. Ресурс не может быть использован. - * ImageLost — дочерний образ ресурса отсутствует. Ресурс не может быть использован. - progress: - description: | - Ход копирования образа из источника в DVCR. Отображается только на этапе `Provisioning`. - size: - description: | - Обнаруженные размеры образа. - properties: - stored: - description: | - Размер образа в DVCR в человекочитаемом формате. - storedBytes: - description: Размер образа в DVCR в байтах. - unpacked: - description: | - Размер распакованного образа в человекочитаемом формате. - unpackedBytes: - description: | - Размер распакованного образа в байтах. - target: - properties: - registryURL: - description: | - Образ, созданный в DVCR. - uploadCommand: - description: | - Команда для загрузки образа для типа 'Upload'. + * Pending — ресурс был создан и находится в очереди ожидания. + * Provisioning — идет процесс создания ресурса (копирование/загрузка/создание образа). + * WaitForUserUpload — ожидание загрузки образа пользователем. Путь для загрузки образа указывается в `.status.uploadCommand`. + * Ready — ресурс создан и готов к использованию. + * Failed — при создании ресурса возникла проблема, подробности можно увидеть в `.status.failureReason` и `.status.failureMessage`. + * NotReady — невозможно получить информацию о дочернем образе из-за невозможности подключения к DVCR. Ресурс не может быть использован. + * ImageLost — дочерний образ ресурса отсутствует. Ресурс не может быть использован. + progress: + description: | + Ход копирования образа из источника в DVCR. Отображается только на этапе `Provisioning`. + size: + description: | + Обнаруженные размеры образа. + properties: + stored: + description: | + Размер образа в DVCR в человекочитаемом формате. + storedBytes: + description: Размер образа в DVCR в байтах. + unpacked: + description: | + Размер распакованного образа в человекочитаемом формате. + unpackedBytes: + description: | + Размер распакованного образа в байтах. + target: + properties: + registryURL: + description: | + Образ, созданный в DVCR. + uploadCommand: + description: | + Команда для загрузки образа для типа 'Upload'. diff --git a/crds/doc-ru-virtualmachine.yaml b/crds/doc-ru-virtualmachine.yaml index 219fcdb1f..bc7ef7237 100644 --- a/crds/doc-ru-virtualmachine.yaml +++ b/crds/doc-ru-virtualmachine.yaml @@ -1,596 +1,596 @@ spec: versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: | - Конфигурация виртуальной машины (ВМ). - properties: - spec: - properties: - affinity: - description: | - [По аналогии](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity), как и в параметре pods `spec.affinity` в Kubernetes. + - name: v1alpha2 + schema: + openAPIV3Schema: + description: | + Конфигурация виртуальной машины (ВМ). + properties: + spec: + properties: + affinity: + description: | + [По аналогии](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity), как и в параметре pods `spec.affinity` в Kubernetes. - Настройка Affinity полностью аналогична приведенной выше документации, разница лишь в названиях некоторых параметров. Фактически, используются следующие аналоги: - * podAffinity -> virtualMachineAndPodAffinity; - * podAffinityTerm -> virtualMachineAndPodAffinityTerm. - properties: - nodeAffinity: - description: Описывает правила affiniy узлов для ВМ. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: "" - items: + Настройка Affinity полностью аналогична приведенной выше документации, разница лишь в названиях некоторых параметров. Фактически, используются следующие аналоги: + * podAffinity -> virtualMachineAndPodAffinity; + * podAffinityTerm -> virtualMachineAndPodAffinityTerm. + properties: + nodeAffinity: + description: Описывает правила affiniy узлов для ВМ. + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: "" + items: + description: "" + properties: + preference: + description: "" + properties: + matchExpressions: + description: "" + items: + description: "" + properties: + key: + description: "" + operator: + description: "" + values: + description: "" + items: + description: "" + matchFields: + description: "" + items: + description: "" + properties: + key: + description: "" + operator: + description: "" + values: + description: "" + items: + description: "" + weight: + description: "" + requiredDuringSchedulingIgnoredDuringExecution: description: "" properties: - preference: + nodeSelectorTerms: description: "" - properties: - matchExpressions: - description: "" - items: + items: + description: "" + properties: + matchExpressions: description: "" - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: + items: + description: "" + properties: + key: description: "" - matchFields: - description: "" - items: + operator: + description: "" + values: + description: "" + items: + description: "" + matchFields: description: "" - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: + items: + description: "" + properties: + key: description: "" - weight: - description: "" - requiredDuringSchedulingIgnoredDuringExecution: - description: "" - properties: - nodeSelectorTerms: + operator: + description: "" + values: + description: "" + items: + description: "" + virtualMachineAndPodAffinity: + description: Описывает правила affiniy подов и ВМ. + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: "" + items: description: "" - items: - description: "" - properties: - matchExpressions: - description: "" - items: + properties: + virtualMachineAndPodAffinityTerm: + description: "" + properties: + labelSelector: description: "" properties: - key: - description: "" - operator: - description: "" - values: + matchExpressions: description: "" items: description: "" - matchFields: - description: "" - items: + properties: + key: + description: "" + operator: + description: "" + values: + description: "" + items: + description: "" + matchLabels: + additionalProperties: + description: "" + description: "" + matchLabelKeys: + description: "" + items: + description: "" + mismatchLabelKeys: + description: "" + items: + description: "" + namespaceSelector: description: "" properties: - key: - description: "" - operator: - description: "" - values: + matchExpressions: description: "" items: description: "" - virtualMachineAndPodAffinity: - description: Описывает правила affiniy подов и ВМ. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: "" - items: - description: "" - properties: - virtualMachineAndPodAffinityTerm: - description: "" - properties: - labelSelector: - description: "" - properties: - matchExpressions: - description: "" - items: - description: "" - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: + properties: + key: + description: "" + operator: + description: "" + values: description: "" - matchLabels: - additionalProperties: + items: + description: "" + matchLabels: + additionalProperties: + description: "" description: "" + namespaces: + description: "" + items: description: "" - matchLabelKeys: - description: "" - items: + topologyKey: description: "" - mismatchLabelKeys: - description: "" - items: + weight: + description: "" + requiredDuringSchedulingIgnoredDuringExecution: + description: "" + items: + description: "" + properties: + labelSelector: + description: "" + properties: + matchExpressions: description: "" - namespaceSelector: - description: "" - properties: - matchExpressions: + items: description: "" - items: - description: "" - properties: - key: - description: "" - operator: - description: "" - values: + properties: + key: + description: "" + operator: + description: "" + values: + description: "" + items: description: "" - items: - description: "" - matchLabels: - additionalProperties: - description: "" + matchLabels: + additionalProperties: description: "" - namespaces: - description: "" - items: description: "" - topologyKey: + matchLabelKeys: + description: "" + items: description: "" - weight: - description: "" - requiredDuringSchedulingIgnoredDuringExecution: - description: "" - items: - description: "" - properties: - labelSelector: - description: "" - properties: - matchExpressions: + mismatchLabelKeys: + description: "" + items: description: "" - items: + namespaceSelector: + description: "" + properties: + matchExpressions: description: "" - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: + items: + description: "" + properties: + key: + description: "" + operator: + description: "" + values: description: "" - matchLabels: - additionalProperties: + items: + description: "" + matchLabels: + additionalProperties: + description: "" description: "" + namespaces: + description: "" + items: description: "" - matchLabelKeys: - description: "" - items: + topologyKey: description: "" - mismatchLabelKeys: - description: "" - items: + virtualMachineAndPodAntiAffinity: + description: Описывает правила anti-affiniy пода и ВМ. + properties: + preferredDuringSchedulingIgnoredDuringExecution: + description: "" + items: + description: "" + properties: + virtualMachineAndPodAffinityTerm: description: "" - namespaceSelector: - description: "" - properties: - matchExpressions: - description: "" - items: + properties: + labelSelector: description: "" properties: - key: - description: "" - operator: - description: "" - values: + matchExpressions: description: "" items: description: "" - matchLabels: - additionalProperties: - description: "" - description: "" - namespaces: - description: "" - items: - description: "" - topologyKey: - description: "" - virtualMachineAndPodAntiAffinity: - description: Описывает правила anti-affiniy пода и ВМ. - properties: - preferredDuringSchedulingIgnoredDuringExecution: - description: "" - items: - description: "" - properties: - virtualMachineAndPodAffinityTerm: - description: "" - properties: - labelSelector: - description: "" - properties: - matchExpressions: - description: "" - items: - description: "" - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: + properties: + key: + description: "" + operator: + description: "" + values: description: "" - matchLabels: - additionalProperties: + items: + description: "" + matchLabels: + additionalProperties: + description: "" description: "" - description: "" - matchLabelKeys: - description: "" - items: + matchLabelKeys: description: "" - mismatchLabelKeys: - description: "" - items: + items: + description: "" + mismatchLabelKeys: description: "" - namespaceSelector: - description: "" - properties: - matchExpressions: + items: description: "" - items: + namespaceSelector: + description: "" + properties: + matchExpressions: description: "" - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: + items: + description: "" + properties: + key: + description: "" + operator: + description: "" + values: description: "" - matchLabels: - additionalProperties: + items: + description: "" + matchLabels: + additionalProperties: + description: "" description: "" + namespaces: + description: "" + items: description: "" - namespaces: - description: "" - items: + topologyKey: description: "" - topologyKey: - description: "" - weight: - description: "" - requiredDuringSchedulingIgnoredDuringExecution: - description: "" - items: + weight: + description: "" + requiredDuringSchedulingIgnoredDuringExecution: description: "" - properties: - labelSelector: - description: "" - properties: - matchExpressions: - description: "" - items: + items: + description: "" + properties: + labelSelector: + description: "" + properties: + matchExpressions: description: "" - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: + items: + description: "" + properties: + key: + description: "" + operator: + description: "" + values: description: "" - matchLabels: - additionalProperties: + items: + description: "" + matchLabels: + additionalProperties: + description: "" description: "" - description: "" - matchLabelKeys: - description: "" - items: + matchLabelKeys: description: "" - mismatchLabelKeys: - description: "" - items: + items: + description: "" + mismatchLabelKeys: description: "" - namespaceSelector: - description: "" - properties: - matchExpressions: + items: description: "" - items: + namespaceSelector: + description: "" + properties: + matchExpressions: description: "" - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: + items: + description: "" + properties: + key: description: "" - matchLabels: - additionalProperties: + operator: + description: "" + values: + description: "" + items: + description: "" + matchLabels: + additionalProperties: + description: "" description: "" + namespaces: + description: "" + items: description: "" - namespaces: - description: "" - items: + topologyKey: description: "" - topologyKey: - description: "" - blockDeviceRefs: - description: | - Список блочных устройств, которые могут быть смонтированы в ВМ. + blockDeviceRefs: + description: | + Список блочных устройств, которые могут быть смонтированы в ВМ. - Порядок загрузки определяется порядком в списке. - items: + Порядок загрузки определяется порядком в списке. + items: + description: | + The reference to block device. + properties: + kind: + description: | + Поддерживаемые типы: + + * `ClusterVirtualImage` — использовать `ClusterVirtualImage` в качестве диска. Этот тип всегда монтируется в режиме для чтения (ReadOnly). Если образ является ISO-образом, он будет смонтирован как устройство CDROM. + * `VirtualImage` — использовать `VirtualImage` в качестве диска. Этот тип всегда монтируется в режиме для чтения (ReadOnly). Если образ является ISO-образом, он будет смонтирован как устройство CDROM. + * `VirtualDisk` — используйте `VirtualDisk` в качестве диска. Этот тип всегда монтируется в режиме для чтения и записи (ReadWrite). + name: + description: | + Имя ресурса заданного типа. + bootloader: description: | - The reference to block device. + Загрузчик для VM: + + * BIOS — использовать BIOS. + * EFI — использовать Unified Extensible Firmware (EFI/UEFI). + * EFIWithSecureBoot — использовать UEFI/EFI с поддержкой SecureBoot. + cpu: + description: | + Блок определяет настройки ЦП для виртуальной машины. properties: - kind: + coreFraction: + description: | + Гарантированная доля времени ЦП, которая будет выделена ВМ. Указывается в процентах. + cores: description: | - Поддерживаемые типы: + Количество ядер. + virtualMachineCPUModelName: + description: | + Имя ресурса `virtualMachineCPUModelName`, определяющего модель процессора для виртуальной машины. + disruptions: + description: | + Описании политики применения изменений, требующих перезагрузки ВМ. - * `ClusterVirtualImage` — использовать `ClusterVirtualImage` в качестве диска. Этот тип всегда монтируется в режиме для чтения (ReadOnly). Если образ является ISO-образом, он будет смонтирован как устройство CDROM. - * `VirtualImage` — использовать `VirtualImage` в качестве диска. Этот тип всегда монтируется в режиме для чтения (ReadOnly). Если образ является ISO-образом, он будет смонтирован как устройство CDROM. - * `VirtualDisk` — используйте `VirtualDisk` в качестве диска. Этот тип всегда монтируется в режиме для чтения и записи (ReadWrite). - name: + Изменение некоторых параметров конфигурации ВМ требуют перезагрузки ВМ для их применения. Данная политика позволяет задать поведения, как ВМ будет реагировать на такие изменения. + properties: + restartApprovalMode: description: | - Имя ресурса заданного типа. - bootloader: - description: | - Загрузчик для VM: + Режим одобрения для изменений, требующих перезагрузки ВМ: - * BIOS — использовать BIOS. - * EFI — использовать Unified Extensible Firmware (EFI/UEFI). - * EFIWithSecureBoot — использовать UEFI/EFI с поддержкой SecureBoot. - cpu: - description: | - Блок определяет настройки ЦП для виртуальной машины. - properties: - coreFraction: - description: | - Гарантированная доля времени ЦП, которая будет выделена ВМ. Указывается в процентах. - cores: - description: | - Количество ядер. - virtualMachineCPUModelName: - description: | - Имя ресурса `virtualMachineCPUModelName`, определяющего модель процессора для виртуальной машины. - disruptions: - description: | - Описании политики применения изменений, требующих перезагрузки ВМ. + - `Manual` — изменения не будут применены, до тех пока пользователь самостоятельно не осуществит перезагрузку ВМ. + - `Автоматический` — ВМ будет перезагружена, сразу, после сохранения параметров, требующих перезагрузки ВМ. + enableParavirtualization: + description: | + Использовать шину `virtio` для подключения виртуальных устройств ВМ. Установите значение false, чтобы отключить `virtio` для этой ВМ. - Изменение некоторых параметров конфигурации ВМ требуют перезагрузки ВМ для их применения. Данная политика позволяет задать поведения, как ВМ будет реагировать на такие изменения. - properties: - restartApprovalMode: - description: | - Режим одобрения для изменений, требующих перезагрузки ВМ: + Внимание: Для использования режима паравиртуализации некоторые ОС требуют установки соответствующих драйверов. + memory: + description: | + Блок определяет настройки оперативной памяти для виртуальной машины. + properties: + size: + description: | + Объем оперативной памяти. + nodeSelector: + description: | + [По аналогии](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes//), как и в параметре pods `spec.nodeSelector` в Kubernetes. + osType: + description: | + Параметр позволяет выбрать тип используемой ОС, для которой будет создана ВМ с оптимальным набором необходимых виртуальных устройств и параметров. + + * Windows — для ОС семейства Microsoft Windows. + * Generic — для других типов ОС. + priorityClassName: + description: | + [По аналогии](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/), как и в параметре pods `spec.priorityClassName` в Kubernetes. + provisioning: + description: | + Блок описания сценария начальной инициализации ВМ. + properties: + sysprepRef: + description: | + Ссылка на существующий ресурс со сценарием автоматизации Windows. - - `Manual` — изменения не будут применены, до тех пока пользователь самостоятельно не осуществит перезагрузку ВМ. - - `Автоматический` — ВМ будет перезагружена, сразу, после сохранения параметров, требующих перезагрузки ВМ. - enableParavirtualization: - description: | - Использовать шину `virtio` для подключения виртуальных устройств ВМ. Установите значение false, чтобы отключить `virtio` для этой ВМ. + Структура ресурса для типа SysprepRef: - Внимание: Для использования режима паравиртуализации некоторые ОС требуют установки соответствующих драйверов. - memory: - description: | - Блок определяет настройки оперативной памяти для виртуальной машины. - properties: - size: - description: | - Объем оперативной памяти. - nodeSelector: - description: | - [По аналогии](https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes//), как и в параметре pods `spec.nodeSelector` в Kubernetes. - osType: - description: | - Параметр позволяет выбрать тип используемой ОС, для которой будет создана ВМ с оптимальным набором необходимых виртуальных устройств и параметров. + * `.data.autounattend.xml` + * `.data.unattend.xml` + properties: + kind: + description: | + Тип ресурса. + name: + description: | + Имя ресурса со сценарием автоматизации. + type: + description: | + Поддерживаемые параметры для использования сценария инициализации: - * Windows — для ОС семейства Microsoft Windows. - * Generic — для других типов ОС. - priorityClassName: - description: | - [По аналогии](https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/), как и в параметре pods `spec.priorityClassName` в Kubernetes. - provisioning: - description: | - Блок описания сценария начальной инициализации ВМ. - properties: - sysprepRef: - description: | - Ссылка на существующий ресурс со сценарием автоматизации Windows. + * UserData — использовать сценарий cloud-init в секции .spec.provisioning.UserData. + * UserDataRef — использовать сценарий cloud-init, который находится в другом ресурсе. + * SysprepRef — использовать сценарий автоматизации установки Windows, который находится в другом ресурсе. + userData: + description: | + Текст сценария cloud-init. - Структура ресурса для типа SysprepRef: + Дополнительная информация: https://cloudinit.readthedocs.io/en/latest/reference/examples.html + userDataRef: + description: | + Ссылка на существующий ресурс со сценарием cloud-init. - * `.data.autounattend.xml` - * `.data.unattend.xml` - properties: - kind: - description: | - Тип ресурса. - name: - description: | - Имя ресурса со сценарием автоматизации. - type: - description: | - Поддерживаемые параметры для использования сценария инициализации: + Структура ресурса для типа userDataRef: - * UserData — использовать сценарий cloud-init в секции .spec.provisioning.UserData. - * UserDataRef — использовать сценарий cloud-init, который находится в другом ресурсе. - * SysprepRef — использовать сценарий автоматизации установки Windows, который находится в другом ресурсе. - userData: - description: | - Текст сценария cloud-init. + * `.data.userData` + properties: + kind: + description: | + Тип ресурса. + name: + description: | + Имя ресурса со сценарием cloud-init. + runPolicy: + description: | + Этот параметр определяет политику запуска ВМ: - Дополнительная информация: https://cloudinit.readthedocs.io/en/latest/reference/examples.html - userDataRef: - description: | - Ссылка на существующий ресурс со сценарием cloud-init. + * `AlwaysOn` — после создания ВМ всегда находится в работающем состоянии, даже в случае ее выключения средствами ОС. + * `AlwaysOff` — после создания ВМ всегда находится в выключенном состоянии. + * `Manual` — после создания ВМ выключается, состояние ВМ (включение/выключение) контролируется через API-сервисы или средствами ОС. + * `AlwaysOnUnlessStoppedManually` — после создания ВМ всегда находится в работающем состоянии, даже в случае ее выключения средствами ОС, ВМ может быть выключена с помощью соответствующего API-сервиса. + terminationGracePeriodSeconds: + description: | + Период ожидания после подачи сигнала (SIGTERM) о прекращении работы ВМ, по истечении которого ВМ принудительно завершается. + tolerations: + description: | + [По аналогии](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/), как и в параметре pods `spec.tolerations` в Kubernetes. + items: + description: "" + properties: + effect: + description: "" + key: + description: "" + operator: + description: "" + tolerationSeconds: + description: "" + value: + description: "" + topologySpreadConstraints: + description: | + [По аналогии](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/), как и в параметре pods `spec.topologySpreadConstraints` в Kubernetes. + items: + properties: + labelSelector: + description: "" + properties: + matchExpressions: + description: "" + items: + properties: + key: + description: "" + operator: + description: "" + values: + description: "" + items: + description: "" + matchLabels: + additionalProperties: + description: "" + description: "" + maxSkew: + description: "" + topologyKey: + description: "" + whenUnsatisfiable: + description: "" + virtualMachineIPAddressClaimName: + description: | + Имя для связанного ресурса `virtualMachineIPAddressClaim`. - Структура ресурса для типа userDataRef: + Указывается при необходимости использования ранее созданного IP-адреса ВМ. - * `.data.userData` + Если не указано явно, по умолчанию для ВМ создается ресурс `virtualMachineIPAddressClaim` с именем аналогичным ресурсу ВМ (`.metadata.name`). + status: + properties: + blockDeviceRefs: + description: | + Список блочных устройств, подключенных к ВМ. + items: properties: + hotpluggable: + description: | + Блочное устройство доступно для горячего подключения. kind: description: | - Тип ресурса. + Тип блочного устройства. name: description: | - Имя ресурса со сценарием cloud-init. - runPolicy: - description: | - Этот параметр определяет политику запуска ВМ: - - * `AlwaysOn` — после создания ВМ всегда находится в работающем состоянии, даже в случае ее выключения средствами ОС. - * `AlwaysOff` — после создания ВМ всегда находится в выключенном состоянии. - * `Manual` — после создания ВМ выключается, состояние ВМ (включение/выключение) контролируется через API-сервисы или средствами ОС. - * `AlwaysOnUnlessStoppedManually` — после создания ВМ всегда находится в работающем состоянии, даже в случае ее выключения средствами ОС, ВМ может быть выключена с помощью соответствующего API-сервиса. - terminationGracePeriodSeconds: - description: | - Период ожидания после подачи сигнала (SIGTERM) о прекращении работы ВМ, по истечении которого ВМ принудительно завершается. - tolerations: - description: | - [По аналогии](https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/), как и в параметре pods `spec.tolerations` в Kubernetes. - items: - description: "" - properties: - effect: - description: "" - key: - description: "" - operator: - description: "" - tolerationSeconds: - description: "" - value: - description: "" - topologySpreadConstraints: - description: | - [По аналогии](https://kubernetes.io/docs/concepts/scheduling-eviction/topology-spread-constraints/), как и в параметре pods `spec.topologySpreadConstraints` в Kubernetes. - items: - properties: - labelSelector: - description: "" - properties: - matchExpressions: - description: "" - items: - properties: - key: - description: "" - operator: - description: "" - values: - description: "" - items: - description: "" - matchLabels: - additionalProperties: - description: "" - description: "" - maxSkew: - description: "" - topologyKey: - description: "" - whenUnsatisfiable: - description: "" - virtualMachineIPAddressClaimName: - description: | - Имя для связанного ресурса `virtualMachineIPAddressClaim`. - - Указывается при необходимости использования ранее созданного IP-адреса ВМ. - - Если не указано явно, по умолчанию для ВМ создается ресурс `virtualMachineIPAddressClaim` с именем аналогичным ресурсу ВМ (`.metadata.name`). - status: - properties: - blockDeviceRefs: - description: | - Список блочных устройств, подключенных к ВМ. - items: - properties: - hotpluggable: - description: | - Блочное устройство доступно для горячего подключения. - kind: - description: | - Тип блочного устройства. - name: - description: | - Имя существующего ресурса. - size: - description: | - Размер подключенного блочного устройства. - target: - description: | - Название подключенного блочного устройства. - conditions: - description: | - Состояния во время работы виртуальной машины. - items: - properties: - lastProbeTime: - description: "" - lastTransitionTime: - description: "" - message: - description: "" - reason: - description: "" - status: - description: "" - type: - description: "" - guestOSInfo: - description: | - Информация об гостевой ОС, полученная от агента (QEMU Guest Agent). Агент должен быть предварительно установлен. + Имя существующего ресурса. + size: + description: | + Размер подключенного блочного устройства. + target: + description: | + Название подключенного блочного устройства. + conditions: + description: | + Состояния во время работы виртуальной машины. + items: + properties: + lastProbeTime: + description: "" + lastTransitionTime: + description: "" + message: + description: "" + reason: + description: "" + status: + description: "" + type: + description: "" + guestOSInfo: + description: | + Информация об гостевой ОС, полученная от агента (QEMU Guest Agent). Агент должен быть предварительно установлен. - Больше информации об агенте можно прочитать тут: https://www.qemu.org/docs/master/interop/qemu-ga.html. - ipAddress: - description: | - IP-адрес ВМ. - message: - description: | - Детальное описание состояния ВМ. - nodeName: - description: | - Имя узла, на котором в данный момент запущена ВМ. - phase: - description: | - Текущая фаза виртуальной машины: + Больше информации об агенте можно прочитать тут: https://www.qemu.org/docs/master/interop/qemu-ga.html. + ipAddress: + description: | + IP-адрес ВМ. + message: + description: | + Детальное описание состояния ВМ. + nodeName: + description: | + Имя узла, на котором в данный момент запущена ВМ. + phase: + description: | + Текущая фаза виртуальной машины: - * `Scheduling` — ВМ запланирована для размещения на узлах кластера. - * `Pending` — осуществляется процесс запуска ВМ. - * `Running` — ВМ запущенна. - * `Failed` — произошла ошибка в процессе запуска или работы ВМ. - * `Terminating` — в настоящий момент ВМ завершает свою работу. - * `Stopped` — ВМ остановлена. - restartAwaitingChanges: - description: | - Список изменений в конфигурации, требующий перезапуска ВМ. - virtualMachineIPAddressClaimName: - description: | - Имя `virtualMachineIPAddressClaimName`, содержащее IP-адрес виртуальной машины. + * `Scheduling` — ВМ запланирована для размещения на узлах кластера. + * `Pending` — осуществляется процесс запуска ВМ. + * `Running` — ВМ запущенна. + * `Failed` — произошла ошибка в процессе запуска или работы ВМ. + * `Terminating` — в настоящий момент ВМ завершает свою работу. + * `Stopped` — ВМ остановлена. + restartAwaitingChanges: + description: | + Список изменений в конфигурации, требующий перезапуска ВМ. + virtualMachineIPAddressClaimName: + description: | + Имя `virtualMachineIPAddressClaimName`, содержащее IP-адрес виртуальной машины. diff --git a/crds/doc-ru-virtualmachineblockdeviceattachment.yaml b/crds/doc-ru-virtualmachineblockdeviceattachment.yaml index d31bcd1c8..7ef2b16aa 100644 --- a/crds/doc-ru-virtualmachineblockdeviceattachment.yaml +++ b/crds/doc-ru-virtualmachineblockdeviceattachment.yaml @@ -1,43 +1,43 @@ spec: versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: | - Ресурс обеспечивает возможность «горячего» подключения диска к ВМ. - properties: - spec: - properties: - blockDeviceRef: - description: | - Блочное устройство, которое будет подключено к ВМ в качестве диска hotPlug. - properties: - kind: - description: | - Тип блочного устройства. Возможны следующие варианты: + - name: v1alpha2 + schema: + openAPIV3Schema: + description: | + Ресурс обеспечивает возможность «горячего» подключения диска к ВМ. + properties: + spec: + properties: + blockDeviceRef: + description: | + Блочное устройство, которое будет подключено к ВМ в качестве диска hotPlug. + properties: + kind: + description: | + Тип блочного устройства. Возможны следующие варианты: - * `VirtualDisk` — использовать `VirtualDisk` в качестве диска. Этот тип всегда монтируется в режиме RW. - name: - description: | - Имя блочного устройства - virtualMachineName: - description: | - Имя виртуальной машины, к которой подключен диск. - status: - properties: - failureMessage: - description: | - Подробное описание ошибки. - failureReason: - description: | - Краткое описание причины ошибки. - phase: - description: | - Фаза ресурса: + * `VirtualDisk` — использовать `VirtualDisk` в качестве диска. Этот тип всегда монтируется в режиме RW. + name: + description: | + Имя блочного устройства + virtualMachineName: + description: | + Имя виртуальной машины, к которой подключен диск. + status: + properties: + failureMessage: + description: | + Подробное описание ошибки. + failureReason: + description: | + Краткое описание причины ошибки. + phase: + description: | + Фаза ресурса: - * InProgress — диск в процессе подключения к ВМ. - * Attached — диск подключен к ВМ. - * Failed — возникла проблема с подключением диска. Смотрите `.status.failureReason`. - virtualMachineName: - description: | - Имя виртуальной машины, к которой подключен этот диск. + * InProgress — диск в процессе подключения к ВМ. + * Attached — диск подключен к ВМ. + * Failed — возникла проблема с подключением диска. Смотрите `.status.failureReason`. + virtualMachineName: + description: | + Имя виртуальной машины, к которой подключен этот диск. diff --git a/crds/doc-ru-virtualmachinecpumodel.yaml b/crds/doc-ru-virtualmachinecpumodel.yaml index 153127b0c..a1c1743ec 100644 --- a/crds/doc-ru-virtualmachinecpumodel.yaml +++ b/crds/doc-ru-virtualmachinecpumodel.yaml @@ -1,46 +1,46 @@ spec: versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: | - Неизменяемый ресурс описывает модель процессора для использования в ВМ. Ресурс не может быть удален, пока он используется в одной из ВМ. - properties: - spec: - properties: - features: - description: | - Необходимые инструкции для процессора в виде списка Дополнительную информацию о поддерживаемых инструкциях можно найти [здесь](https://libvirt.org/formatdomain.html#cpu-model-and-topology) - model: - description: | - Название модели процессора. Дополнительная информация о моделях [здесь](https://libvirt.org/formatdomain.html#cpu-model-and-topology) - type: - description: | - В качестве типа ресурса, поддерживаются следующие варианты: - * Host - использовать физический процессор хоста. - * Модель - модель процессора. Модель процессора - это именованный и предварительно определенный набор поддерживаемых инструкций процессора. - * Features - необходимый набор поддерживаемых инструкций для процессора. - status: - properties: - features: - description: | - Информация о поддерживаемых наборах инструкций процессора для данной модели. - Отображается только для `type=Features`. - properties: - enabled: - description: | - Список наборов инструкций процессора для данной модели. - notEnabledCommon: - description: | - Список неиспользуемых инструкций процессора, дополнительно доступных для данной группы узлов. - nodes: - description: | - Список узлов, поддерживающих данную модель процессора. - Не отображается для `type=Host`. - phase: - description: | - Текущий статус ресурса `VirtualMachineCPUModel`: - * Pending - ресурс находится в очереди на обработку. - * InProgress - ресурс находится в процессе создания. - * Ready - ресурс успешно создан. - * Failed - в процессе создания ресурса произошла ошибка. + - name: v1alpha2 + schema: + openAPIV3Schema: + description: | + Неизменяемый ресурс описывает модель процессора для использования в ВМ. Ресурс не может быть удален, пока он используется в одной из ВМ. + properties: + spec: + properties: + features: + description: | + Необходимые инструкции для процессора в виде списка Дополнительную информацию о поддерживаемых инструкциях можно найти [здесь](https://libvirt.org/formatdomain.html#cpu-model-and-topology) + model: + description: | + Название модели процессора. Дополнительная информация о моделях [здесь](https://libvirt.org/formatdomain.html#cpu-model-and-topology) + type: + description: | + В качестве типа ресурса, поддерживаются следующие варианты: + * Host - использовать физический процессор хоста. + * Модель - модель процессора. Модель процессора - это именованный и предварительно определенный набор поддерживаемых инструкций процессора. + * Features - необходимый набор поддерживаемых инструкций для процессора. + status: + properties: + features: + description: | + Информация о поддерживаемых наборах инструкций процессора для данной модели. + Отображается только для `type=Features`. + properties: + enabled: + description: | + Список наборов инструкций процессора для данной модели. + notEnabledCommon: + description: | + Список неиспользуемых инструкций процессора, дополнительно доступных для данной группы узлов. + nodes: + description: | + Список узлов, поддерживающих данную модель процессора. + Не отображается для `type=Host`. + phase: + description: | + Текущий статус ресурса `VirtualMachineCPUModel`: + * Pending - ресурс находится в очереди на обработку. + * InProgress - ресурс находится в процессе создания. + * Ready - ресурс успешно создан. + * Failed - в процессе создания ресурса произошла ошибка. diff --git a/crds/doc-ru-virtualmachineipaddressclaim.yaml b/crds/doc-ru-virtualmachineipaddressclaim.yaml index 0fbd97435..045ec57ba 100644 --- a/crds/doc-ru-virtualmachineipaddressclaim.yaml +++ b/crds/doc-ru-virtualmachineipaddressclaim.yaml @@ -1,46 +1,46 @@ spec: versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: | - Ресурс, определяющий IP-адрес для виртуальной машины. - properties: - spec: - description: | - Настройки `VirtualMachineIPAddressClaim`. - properties: - address: - description: | - Запрашиваемый IP-адрес. Если это значение не задано, будет назначен следующий доступный IP-адрес. - reclaimPolicy: - description: | - Политика Reclaim, определяющая поведение `VirtualMachineIPAddressLease` при удалении `VirtualMachineIPAddressClaim`. + - name: v1alpha2 + schema: + openAPIV3Schema: + description: | + Ресурс, определяющий IP-адрес для виртуальной машины. + properties: + spec: + description: | + Настройки `VirtualMachineIPAddressClaim`. + properties: + address: + description: | + Запрашиваемый IP-адрес. Если это значение не задано, будет назначен следующий доступный IP-адрес. + reclaimPolicy: + description: | + Политика Reclaim, определяющая поведение `VirtualMachineIPAddressLease` при удалении `VirtualMachineIPAddressClaim`. - * `Delete` означает, что `VirtualMachineIPAddressLease` автоматически удаляется, когда пользователь удаляет соответствующий `VirtualMachineIPAddressClaim`. + * `Delete` означает, что `VirtualMachineIPAddressLease` автоматически удаляется, когда пользователь удаляет соответствующий `VirtualMachineIPAddressClaim`. - * `Retain` — если пользователь удаляет `VirtualMachineIPAddressClaim`, соответствующий `VirtualMachineIPAddressLease` не будет удален. Вместо этого он переходит в фазу Released, где его IP-адрес может быть переиспользован вручную. - virtualMachineIPAddressLeaseName: - description: | - Имя выданного `VirtualMachineIPAddressLease`, управляется автоматически. - status: - description: | - Состояние ресурса `VirtualMachineIPAddressClaim`. - properties: - address: - description: | - Назначенный IP-адрес. - conflictMessage: - description: | - Подробное описание ошибки. - phase: - description: | - Представляет текущее состояние ресурса `VirtualMachineIPAddressClaim`. + * `Retain` — если пользователь удаляет `VirtualMachineIPAddressClaim`, соответствующий `VirtualMachineIPAddressLease` не будет удален. Вместо этого он переходит в фазу Released, где его IP-адрес может быть переиспользован вручную. + virtualMachineIPAddressLeaseName: + description: | + Имя выданного `VirtualMachineIPAddressLease`, управляется автоматически. + status: + description: | + Состояние ресурса `VirtualMachineIPAddressClaim`. + properties: + address: + description: | + Назначенный IP-адрес. + conflictMessage: + description: | + Подробное описание ошибки. + phase: + description: | + Представляет текущее состояние ресурса `VirtualMachineIPAddressClaim`. - * Pending - создание ресурса находится в процессе выполнения. - * Bound - ресурс `VirtualMachineIPAddressClaim` привязан к ресурсу `VirtualMachineIPAddressLease`. - * Lost - ресурс `VirtualMachineIPAddressClaim` потерял свойю связку с `VirtualMachineIPAddressLease`. - * Conflict - `VirtualMachineIPAddressLease` уже привязан к другом ресурсу `VirtualMachineIPAddressClaim`. - virtualMachineName: - description: | - Имя виртуальной машины, которая в настоящее время использует этот IP-адрес. + * Pending - создание ресурса находится в процессе выполнения. + * Bound - ресурс `VirtualMachineIPAddressClaim` привязан к ресурсу `VirtualMachineIPAddressLease`. + * Lost - ресурс `VirtualMachineIPAddressClaim` потерял свойю связку с `VirtualMachineIPAddressLease`. + * Conflict - `VirtualMachineIPAddressLease` уже привязан к другом ресурсу `VirtualMachineIPAddressClaim`. + virtualMachineName: + description: | + Имя виртуальной машины, которая в настоящее время использует этот IP-адрес. diff --git a/crds/doc-ru-virtualmachineipaddresslease.yaml b/crds/doc-ru-virtualmachineipaddresslease.yaml index 3313d35d1..1acdf9e6c 100644 --- a/crds/doc-ru-virtualmachineipaddresslease.yaml +++ b/crds/doc-ru-virtualmachineipaddresslease.yaml @@ -1,39 +1,39 @@ spec: versions: - - name: v1alpha2 - schema: - openAPIV3Schema: - description: | - Ресурс, определяющий факт выданной аренды для `VirtualMachineIPAddressClaim`. - properties: - spec: - description: | - Параметры конфигурации `VirtualMachineIPAddressLease`. - properties: - claimRef: - description: | - Ссылка на существующие `VirtualMachineIPAddressClaim`. - properties: - name: - description: | - Имя ссылающегося `VirtualMachineIPAddressClaim`. - namespace: - description: | - Пространство имен ссылающегося `VirtualMachineIPAddressClaim`. - reclaimPolicy: - description: | - Политика Reclaim, определяющая поведение `VirtualMachineIPAddressLease` при удалении `VirtualMachineIPAddressClaim`. + - name: v1alpha2 + schema: + openAPIV3Schema: + description: | + Ресурс, определяющий факт выданной аренды для `VirtualMachineIPAddressClaim`. + properties: + spec: + description: | + Параметры конфигурации `VirtualMachineIPAddressLease`. + properties: + claimRef: + description: | + Ссылка на существующие `VirtualMachineIPAddressClaim`. + properties: + name: + description: | + Имя ссылающегося `VirtualMachineIPAddressClaim`. + namespace: + description: | + Пространство имен ссылающегося `VirtualMachineIPAddressClaim`. + reclaimPolicy: + description: | + Политика Reclaim, определяющая поведение `VirtualMachineIPAddressLease` при удалении `VirtualMachineIPAddressClaim`. - * `Delete` означает, что `VirtualMachineIPAddressLease` автоматически удаляется, когда пользователь удаляет соответствующий `VirtualMachineIPAddressClaim`. + * `Delete` означает, что `VirtualMachineIPAddressLease` автоматически удаляется, когда пользователь удаляет соответствующий `VirtualMachineIPAddressClaim`. - * `Retain` — если пользователь удаляет `VirtualMachineIPAddressClaim`, соответствующий `VirtualMachineIPAddressLease` не будет удален. Вместо этого он переходит в фазу Released, где его IP-адрес может быть переиспользован вручную. - status: - description: | - Состояние ресурса `VirtualMachineIPAddressLease`. - properties: - phase: - description: | - Представляет текущее состояние ресурса `VirtualMachineIPAddressLease`. + * `Retain` — если пользователь удаляет `VirtualMachineIPAddressClaim`, соответствующий `VirtualMachineIPAddressLease` не будет удален. Вместо этого он переходит в фазу Released, где его IP-адрес может быть переиспользован вручную. + status: + description: | + Состояние ресурса `VirtualMachineIPAddressLease`. + properties: + phase: + description: | + Представляет текущее состояние ресурса `VirtualMachineIPAddressLease`. - * Bound - ресурс `VirtualMachineIPAddressLease` привязан к ресурсу `VirtualMachineIPAddressClaim`. - * Released - ресурс `VirtualMachineIPAddressLease` доступен для связки с новым ресурсом `VirtualMachineIPAddressClaim`. + * Bound - ресурс `VirtualMachineIPAddressLease` привязан к ресурсу `VirtualMachineIPAddressClaim`. + * Released - ресурс `VirtualMachineIPAddressLease` доступен для связки с новым ресурсом `VirtualMachineIPAddressClaim`.