Spec-Zone.ru › Ansible

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
END_OF_DOCUMENT_MARKER

Параметры

Параметр

Комментарии

annotations

словарь

Укажите аннотации, которые нужно установить на VirtualMachine.

Используется только при state=present.

api_key

строка

Токен, используемый для аутентификации с API.

Также можно указать через переменную окружения K8S_AUTH_API_KEY.

api_version

строка

Используйте для установки версии API KubeVirt.

По умолчанию: "kubevirt.io/v1"

ca_cert

псевдонимы: ssl_ca_cert

путь

Путь к сертификату CA, используемому для аутентификации с API. Для предотвращения ошибок проверки сертификата необходимо указать полный цепочку сертификатов.

Также можно указать через переменную окружения K8S_AUTH_SSL_CA_CERT.

client_cert

псевдонимы: cert_file

путь

Путь к сертификату, используемому для аутентификации с API.

Также можно указать через переменную окружения K8S_AUTH_CERT_FILE.

client_key

псевдонимы: key_file

путь

Путь к файлу ключа, используемому для аутентификации с API.

Также можно указать через переменную окружения K8S_AUTH_KEY_FILE.

context

строка

Имя контекста, найденного в файле конфигурации.

Также можно указать через переменную окружения K8S_AUTH_CONTEXT.

data_volume_templates

список / элементы=словарь

Укажите шаблоны томов данных DataVolume.

См. https://kubevirt.io/api-reference/main/definitions.html#_v1_datavolumetemplatespec

delete_options

словарь

Настройте поведение при удалении объекта.

Используется только при state=absent.

preconditions

словарь

Укажите условие, которое должно быть выполнено для продолжения удаления.

resourceVersion

строка

Укажите версию ресурса целевого объекта.

uid

строка

Укажите UID целевого объекта.

propagationPolicy

строка

Используется для управления тем, как удаляются зависимые объекты.

Если не указано, будет использоваться политика по умолчанию для типа объекта. Она может варьироваться в зависимости от типа объекта.

Варианты:

  • "Foreground"
  • "Background"
  • "Orphan"

force

логическое

Если установлено в force=yes, и state=present установлено, существующий объект будет заменён.

Варианты:

  • false ← (по умолчанию)
  • true

generate_name

строка

Укажите основу для имени VirtualMachine, и автоматически добавят случайные символы на кластере для генерации уникального имени.

Используется только при state=present.

Взаимоисключающе с name.

host

строка

Укажите URL для доступа к API.

Также можно указать через переменную окружения K8S_AUTH_HOST.

impersonate_groups

список / элементы=строка

Группа(ы) для имперсонации для операции.

Можно также указать через переменную окружения K8S_AUTH_IMPERSONATE_GROUPS, например Group1,Group2.

impersonate_user

строка

Имя пользователя для имперсонации для операции.

Также можно указать через переменную окружения K8S_AUTH_IMPERSONATE_USER.

instancetype

словарь

Укажите Instancetype сопоставитель VirtualMachine.

Используется только при state=present.

END_OF_DOCUMENT_MARKER

kubeconfig

any

Путь к существующему конфигурационному файлу Kubernetes. Если не указан и другие параметры подключения не предоставлены, клиент Kubernetes попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.

Также может быть указан через переменную окружения K8S_AUTH_KUBECONFIG.

Несколько файлов конфигурации Kubernetes могут быть предоставлены с использованием разделителя ; для платформ Windows или : для других платформ.

Конфигурация kubernetes может быть предоставлена в виде словаря. Эта функция требует версии python kubernetes client >= 17.17.0. Добавлено в версии 2.2.0.

labels

dictionary

Укажите метки для задания на VirtualMachine.

name

string

Укажите имя VirtualMachine.

Этот параметр игнорируется, когда state=present не задан.

Взаимоисключительно с generate_name.

namespace

string / обязательно

Укажите пространство имён VirtualMachine.

no_proxy

string

Список хостов/доменов/IP/CIDR через запятую, которые не должны проходить через прокси.

Также может быть указан через переменную окружения K8S_AUTH_NO_PROXY.

Обратите внимание, что этот модуль не подхватывает типичные настройки прокси из среды (например, NO_PROXY).

Эта функция требует kubernetes>=19.15.0. Когда библиотека kubernetes имеет версию меньше 19.15.0, она завершается ошибкой, даже если no_proxy задан правильно.

Пример значения localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16.

password

string

Укажите пароль для аутентификации с API.

Также может быть указан через переменную окружения K8S_AUTH_PASSWORD.

Пожалуйста, ознакомьтесь с описанием параметра username для понимания, когда этот параметр применим.

persist_config

boolean

Сохранять ли токены обновления kube конфигурации.

Также может быть указан через переменную окружения K8S_AUTH_PERSIST_CONFIG.

Когда контекст k8s использует учетные данные пользователя с токенами обновления (например, oidc или gke/gcloud auth), токен обновляется библиотекой k8s python, но по умолчанию не сохраняется. Поэтому старый токен обновления может истечь, и следующая аутентификация может завершиться ошибкой. Установка этого флага в true укажет библиотеке k8s python сохранить новый токен обновления в файл kube конфигурации.

Отключено по умолчанию.

Варианты:

  • false
  • true

preference

dictionary

Укажите Preference сопоставление VirtualMachine.

Используется только тогда, когда state=present.

proxy

string

URL HTTP-прокси, который нужно использовать для подключения.

Также может быть указан через переменную окружения K8S_AUTH_PROXY.

Обратите внимание, что этот модуль не подхватывает типичные настройки прокси из среды (например, HTTP_PROXY).

proxy_headers

dictionary

Заголовки, используемые для HTTP-прокси.

Документация доступна здесь https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html?highlight=proxy_headers#urllib3.util.make_headers.

basic_auth

string

Пользователь:пароль, разделенные двоеточием, для заголовка базовой аутентификации.

Также может быть указан через переменную окружения K8S_AUTH_PROXY_HEADERS_BASIC_AUTH.

proxy_basic_auth

string

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

Также может быть указан через переменную окружения K8S_AUTH_PROXY_HEADERS_PROXY_BASIC_AUTH.

user_agent

string

Строка, представляющая желаемого пользователя-агента, например, foo/1.0.

Также может быть указан через переменную окружения K8S_AUTH_PROXY_HEADERS_USER_AGENT.

running

boolean

Укажите, должен ли VirtualMachine работать или нет.

Варианты:

  • false
  • true ← (по умолчанию)

spec

dictionary

Укажите шаблон спецификации VirtualMachine.

См. https://kubevirt.io/api-reference/main/definitions.html#_v1_virtualmachineinstancespec

state

string

Определяет, должен ли объект быть создан, изменён или удалён.

При установке в state=present, объект будет создан, если он ещё не существует.

При установке в state=absent, существующий объект будет удалён.

При установке в state=present, существующий объект будет изменён, если его атрибуты отличаются от указанных.

Варианты:

  • "absent"
  • "present" ← (по умолчанию)

username

string

Укажите имя пользователя для аутентификации с API.

Также может быть указан через переменную окружения K8S_AUTH_USERNAME.

validate_certs

aliases: verify_ssl

boolean

Проверять ли сертификаты SSL API-сервера.

Также может быть задано через переменную окружения K8S_AUTH_VERIFY_SSL.

Варианты:

  • false
  • true

wait

boolean

Ожидать, пока VirtualMachine перейдёт в состояние готовности.

Варианты:

  • false ← (по умолчанию)
  • true

wait_sleep

integer

Количество секунд ожидания между проверками.

Игнорируется, если wait не задано.

По умолчанию: 5

wait_timeout

integer

Сколько секунд ждать, пока ресурс перейдёт в состояние готовности.

Игнорируется, если wait не задано.

По умолчанию: 120

Примечания

Примечание

  • Для предотвращения ошибок проверки 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

Изменился ли VirtualMachine или нет.

Возвращается: success

Пример: true

duration

integer

Время выполнения задачи в секундах.

Возвращается: Когда wait=true.

Пример: 48

method

string

Выполненный метод в API Kubernetes.

Возвращается: success

Авторы

  • Проект KubeVirt.io

Ссылки на коллекцию

  • Система отслеживания задач
  • Главная страница
  • Репозиторий (исходные коды)
  • Отправить сообщение об ошибке
  • Связь

© 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API