kubevirt.core.kubevirt_vmi_info 模块 – 描述 KubeVirt 虚拟机实例

注意

此模块是 kubevirt.core 集合(版本 2.1.0)的一部分。

如果您使用的是 ansible 包,您可能已经安装了这个集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list

要安装它,请使用:ansible-galaxy collection install kubevirt.core。您需要进一步的要求才能使用此模块,请参阅 要求 了解详细信息。

要在剧本中使用它,请指定:kubevirt.core.kubevirt_vmi_info

概要

  • 使用 Kubernetes Python 客户端对 KubeVirt VirtualMachineInstances 执行读取操作。

  • 传递选项以查找作为模块参数的 VirtualMachineInstances

  • 使用配置文件、证书、密码或令牌进行身份验证。

  • 支持检查模式。

要求

执行此模块的主机上需要以下要求。

  • python >= 3.9

  • kubernetes >= 28.1.0

  • PyYAML >= 3.11

参数

参数

注释

api_key

字符串

用于向 API 进行身份验证的令牌。

也可以通过 K8S_AUTH_API_KEY 环境变量指定。

api_version

字符串

使用此选项设置 KubeVirt 的 API 版本。

默认值: "kubevirt.io/v1"

ca_cert

别名:ssl_ca_cert

路径

用于向 API 进行身份验证的 CA 证书的路径。必须提供完整的证书链,以避免证书验证错误。

也可以通过 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 环境变量指定。

field_selectors

列表 / 元素=字符串

用于筛选结果的字段选择器列表。

默认值: []

host

字符串

提供用于访问 API 的 URL。

也可以通过 K8S_AUTH_HOST 环境变量指定。

impersonate_groups

列表 / 元素=字符串

要为操作模拟的组。

也可以通过 K8S_AUTH_IMPERSONATE_GROUPS 环境变量指定,例如 Group1,Group2

impersonate_user

字符串

要为操作模拟的用户名。

也可以通过 K8S_AUTH_IMPERSONATE_USER 环境变量指定。

kubeconfig

任意

现有 Kubernetes 配置文件的路径。如果未提供,并且未提供其他连接选项,Kubernetes 客户端将尝试从 ~/.kube/config 加载默认配置文件。

也可以通过 K8S_AUTH_KUBECONFIG 环境变量指定。

可以使用分隔符 ; (对于 Windows 平台)或 : (对于其他平台)提供多个 Kubernetes 配置文件。

Kubernetes 配置可以作为字典提供。此功能需要 python Kubernetes 客户端版本 >= 17.17.0。

label_selectors

列表 / 元素=字符串

用于筛选结果的标签选择器列表。

默认值: []

name

字符串

指定 VirtualMachineInstance 的名称。

namespace

字符串

指定 VirtualMachineInstances 的命名空间。

no_proxy

字符串

不应通过代理的主机/域/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

密码

字符串

提供用于 API 身份验证的密码。

也可以通过 K8S_AUTH_PASSWORD 环境变量指定。

请阅读 username 选项的描述,了解何时适用此选项。

persist_config

布尔值

是否保存 kube 配置刷新令牌。

也可以通过 K8S_AUTH_PERSIST_CONFIG 环境变量指定。

当 k8s 上下文使用带有刷新令牌的用户凭据(如 oidc 或 gke/gcloud 身份验证)时,令牌由 k8s Python 客户端库刷新,但默认情况下不会保存。因此,旧的刷新令牌可能会过期,并且下次身份验证可能会失败。将此标志设置为 true 将告诉 k8s Python 客户端将新的刷新令牌保存到 kube 配置文件。

默认禁用。

选项

  • false

  • true

proxy

字符串

用于连接的 HTTP 代理的 URL。

也可以通过 K8S_AUTH_PROXY 环境变量指定。

请注意,此模块不会从环境中获取典型的代理设置(例如,HTTP_PROXY)。

proxy_headers

字典

basic_auth

字符串

用于基本身份验证标头的以冒号分隔的用户名:密码。

也可以通过 K8S_AUTH_PROXY_HEADERS_BASIC_AUTH 环境变量指定。

proxy_basic_auth

字符串

用于代理基本身份验证标头的以冒号分隔的用户名:密码。

也可以通过 K8S_AUTH_PROXY_HEADERS_PROXY_BASIC_AUTH 环境变量指定。

user_agent

字符串

表示您想要的 User-Agent 的字符串,例如 foo/1.0。

也可以通过 K8S_AUTH_PROXY_HEADERS_USER_AGENT 环境变量指定。

username

字符串

提供用于 API 身份验证的用户名。

也可以通过 K8S_AUTH_USERNAME 环境变量指定。

validate_certs

别名:verify_ssl

布尔值

是否验证 API 服务器的 SSL 证书。

也可以通过 K8S_AUTH_VERIFY_SSL 环境变量指定。

选项

  • false

  • true

wait

布尔值

是否等待 VirtualMachineInstance 进入就绪状态。

默认情况下,这将等待 VirtualMachineInstance 启动并运行。

选项

  • false

  • true

wait_sleep

整数

检查之间休眠的秒数。

如果未设置 wait,则忽略此项。

默认值: 5

wait_timeout

整数

等待资源进入就绪状态的秒数。

如果未设置 wait,则忽略此项。

默认值: 120

注意

注意

示例

- name: Get an existing VirtualMachineInstance
  kubevirt.core.kubevirt_vmi_info:
    name: testvmi
    namespace: default
  register: default_testvmi

- name: Get a list of all VirtualMachinesInstances
  kubevirt.core.kubevirt_vmi_info:
    namespace: default
  register: vmi_list

- name: Get a list of all VirtualMachineInstances from any namespace
  kubevirt.core.kubevirt_vmi_info:
  register: vmi_list

- name: Search for all VirtualMachineInstances labelled app=test
  kubevirt.core.kubevirt_vmi_info:
    label_selectors:
      - app=test

- name: Wait until the VirtualMachineInstace is ready
  kubevirt.core.kubevirt_vm_info:
    name: testvm
    namespace: default
    wait: true

返回值

常见的返回值记录在此处,以下是此模块独有的字段

描述

api_found

布尔值

指定的 api_versionVirtualMachineInstance Kind 是否成功映射到目标集群上的现有 API。

返回值: 总是

resources

复杂

存在的 VirtualMachineInstances

返回值: 成功

api_version

字符串

此对象表示的版本化架构。

返回值: 成功

kind

字符串

表示此对象表示的 REST 资源。

返回值: 成功

metadata

字典

标准对象元数据。包括名称、命名空间、注释、标签等。

返回值: 成功

spec

字典

VirtualMachineInstance 的特定属性。可能会因 api_version 而有所不同。

返回值: 成功

status

字典

VirtualMachineInstance 的当前状态详细信息。

返回值: 成功

作者

  • KubeVirt.io 项目