kubevirt.core.kubevirt_vm модуль – Создание или удаление виртуальных машин KubeVirt
Примечание
Этот модуль входит в состав коллекции kubevirt.core (версия 1.5.0).
Вам, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.
Для установки используйте: ansible-galaxy collection install kubevirt.core. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробностей.
Для использования в книге сценариев укажите: kubevirt.core.kubevirt_vm.
Описание
- Используйте клиент Kubernetes Python для выполнения операций создания или удаления виртуальных машин KubeVirt.
- Передавайте параметры для создания виртуальной машины в качестве аргументов модуля.
- Авторизуйтесь с помощью файла конфигурации, сертификатов, пароля или токена.
- Поддерживает режим проверки.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 3.9
- kubernetes >= 28.1.0
- PyYAML >= 3.11
- jsonpatch
Параметры
Параметр | Комментарии |
|---|---|
annotations словарь | Укажите аннотации, которые нужно установить на Используется только при |
api_key строка | Токен, используемый для аутентификации с API. Также можно указать через переменную окружения |
api_version строка | Используйте для установки версии API KubeVirt. По умолчанию: |
ca_cert псевдонимы: ssl_ca_cert путь | Путь к сертификату CA, используемому для аутентификации с API. Для предотвращения ошибок проверки сертификата необходимо указать полный цепочку сертификатов. Также можно указать через переменную окружения |
client_cert псевдонимы: cert_file путь | Путь к сертификату, используемому для аутентификации с API. Также можно указать через переменную окружения |
client_key псевдонимы: key_file путь | Путь к файлу ключа, используемому для аутентификации с API. Также можно указать через переменную окружения |
context строка | Имя контекста, найденного в файле конфигурации. Также можно указать через переменную окружения |
data_volume_templates список / элементы=словарь | Укажите шаблоны томов данных См. https://kubevirt.io/api-reference/main/definitions.html#_v1_datavolumetemplatespec |
delete_options словарь | Настройте поведение при удалении объекта. Используется только при |
|
preconditions словарь |
Укажите условие, которое должно быть выполнено для продолжения удаления. |
|
resourceVersion строка |
Укажите версию ресурса целевого объекта. |
|
uid строка |
Укажите |
|
propagationPolicy строка |
Используется для управления тем, как удаляются зависимые объекты. Если не указано, будет использоваться политика по умолчанию для типа объекта. Она может варьироваться в зависимости от типа объекта. Варианты:
|
force логическое | Если установлено в Варианты:
|
generate_name строка | Укажите основу для имени Используется только при Взаимоисключающе с |
host строка | Укажите URL для доступа к API. Также можно указать через переменную окружения |
impersonate_groups список / элементы=строка | Группа(ы) для имперсонации для операции. Можно также указать через переменную окружения |
impersonate_user строка | Имя пользователя для имперсонации для операции. Также можно указать через переменную окружения |
instancetype словарь | Укажите Используется только при |
kubeconfig any | Путь к существующему конфигурационному файлу Kubernetes. Если не указан и другие параметры подключения не предоставлены, клиент Kubernetes попытается загрузить файл конфигурации по умолчанию из ~/.kube/config. Также может быть указан через переменную окружения Несколько файлов конфигурации Kubernetes могут быть предоставлены с использованием разделителя Конфигурация kubernetes может быть предоставлена в виде словаря. Эта функция требует версии python kubernetes client >= 17.17.0. Добавлено в версии 2.2.0. |
labels dictionary | Укажите метки для задания на |
name string | Укажите имя Этот параметр игнорируется, когда Взаимоисключительно с |
namespace string / обязательно | Укажите пространство имён |
no_proxy string | Список хостов/доменов/IP/CIDR через запятую, которые не должны проходить через прокси. Также может быть указан через переменную окружения Обратите внимание, что этот модуль не подхватывает типичные настройки прокси из среды (например, Эта функция требует Пример значения |
password string | Укажите пароль для аутентификации с API. Также может быть указан через переменную окружения Пожалуйста, ознакомьтесь с описанием параметра |
persist_config boolean | Сохранять ли токены обновления kube конфигурации. Также может быть указан через переменную окружения Когда контекст k8s использует учетные данные пользователя с токенами обновления (например, oidc или gke/gcloud auth), токен обновляется библиотекой k8s python, но по умолчанию не сохраняется. Поэтому старый токен обновления может истечь, и следующая аутентификация может завершиться ошибкой. Установка этого флага в true укажет библиотеке k8s python сохранить новый токен обновления в файл kube конфигурации. Отключено по умолчанию. Варианты:
|
preference dictionary | Укажите Используется только тогда, когда |
proxy string | URL HTTP-прокси, который нужно использовать для подключения. Также может быть указан через переменную окружения Обратите внимание, что этот модуль не подхватывает типичные настройки прокси из среды (например, |
proxy_headers dictionary | Заголовки, используемые для HTTP-прокси. Документация доступна здесь https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html?highlight=proxy_headers#urllib3.util.make_headers. |
|
basic_auth string |
Пользователь:пароль, разделенные двоеточием, для заголовка базовой аутентификации. Также может быть указан через переменную окружения |
|
proxy_basic_auth string |
Пользователь:пароль, разделенные двоеточием, для заголовка базовой аутентификации прокси. Также может быть указан через переменную окружения |
|
user_agent string |
Строка, представляющая желаемого пользователя-агента, например, foo/1.0. Также может быть указан через переменную окружения |
running boolean | Укажите, должен ли Варианты:
|
spec dictionary | Укажите шаблон спецификации См. https://kubevirt.io/api-reference/main/definitions.html#_v1_virtualmachineinstancespec |
state string | Определяет, должен ли объект быть создан, изменён или удалён. При установке в При установке в При установке в Варианты:
|
username string | Укажите имя пользователя для аутентификации с API. Также может быть указан через переменную окружения |
validate_certs aliases: verify_ssl boolean | Проверять ли сертификаты SSL API-сервера. Также может быть задано через переменную окружения Варианты:
|
wait boolean | Ожидать, пока Варианты:
|
wait_sleep integer | |
wait_timeout integer | Сколько секунд ждать, пока ресурс перейдёт в состояние готовности. Игнорируется, если По умолчанию: |
Примечания
Примечание
- Для предотвращения ошибок проверки SSL-сертификатов, когда
validate_certs=yes, цепочка сертификатов API-сервера должна быть предоставлена черезca_certили в файлеkubeconfig.
Примеры
- name: Create a VirtualMachine
kubevirt.core.kubevirt_vm:
state: present
name: testvm
namespace: default
labels:
app: test
instancetype:
name: u1.medium
preference:
name: fedora
spec:
domain:
devices:
interfaces:
- name: default
masquerade: {}
- name: bridge-network
bridge: {}
networks:
- name: default
pod: {}
- name: bridge-network
multus:
networkName: kindexgw
volumes:
- containerDisk:
image: quay.io/containerdisks/fedora:latest
name: containerdisk
- cloudInitNoCloud:
userData: |-
#cloud-config
# The default username is: fedora
ssh_authorized_keys:
- ssh-ed25519 AAAA...
name: cloudinit
- name: Create a VirtualMachine with a DataVolume template
kubevirt.core.kubevirt_vm:
state: present
name: testvm-with-dv
namespace: default
labels:
app: test
instancetype:
name: u1.medium
preference:
name: fedora
data_volume_templates:
- metadata:
name: testdv
spec:
source:
registry:
url: docker://quay.io/containerdisks/fedora:latest
storage:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 5Gi
spec:
domain:
devices: {}
volumes:
- dataVolume:
name: testdv
name: datavolume
- cloudInitNoCloud:
userData: |-
#cloud-config
# The default username is: fedora
ssh_authorized_keys:
- ssh-ed25519 AAAA...
name: cloudinit
wait: true
- name: Delete a VirtualMachine
kubevirt.core.kubevirt_vm:
name: testvm
namespace: default
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие поля уникальны для данного модуля:
Ключ | Описание |
|---|---|
result complex | Созданный объект. Будет пустым в случае удаления. Возвращается: success |
|
changed boolean |
Изменился ли Возвращается: success Пример: |
|
duration integer | |
|
method string |
Выполненный метод в API Kubernetes. Возвращается: success |
Ссылки на коллекцию
© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/kubevirt/core/kubevirt_vm_module.html