kubernetes.core.k8s 清单 – Kubernetes (K8s) 清单源

注意

此清单插件是 kubernetes.core 集合(版本 5.0.0)的一部分。

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

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

要在 playbook 中使用它,请指定:kubernetes.core.k8s

已弃用

在以下版本中移除:

6.0.0 版本

原因:

正如 https://github.com/ansible-collections/kubernetes.core/issues/31 中讨论的那样,我们决定在 6.0.0 版本中删除 k8s 清单插件。

替代方案:

请改用 kubernetes.core.k8s_infoansible.builtin.add_host

概要

  • 获取一个或多个集群的容器和服务。

  • 按集群名称、命名空间、namespace_services、namespace_pods 和标签分组。

  • 使用 kubectl 连接插件来访问 Kubernetes 集群。

  • 使用 k8s.(yml|yaml) YAML 配置文件来设置参数值。

要求

在执行此清单的本地控制器节点上需要满足以下要求。

  • python >= 3.9

  • kubernetes >= 24.2.0

  • PyYAML >= 3.11

参数

参数

注释

connections

字符串

集群连接设置的可选列表。如果未提供任何连接,将使用默认的 _~/.kube/config_ 和活动上下文,并且将返回活动用户有权访问的所有命名空间的对象。

api_key

字符串

用于通过 API 进行身份验证的令牌。也可以通过 K8S_AUTH_API_KEY 环境变量指定。

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 环境变量指定。

host

字符串

提供用于访问 API 的 URL。也可以通过 K8S_AUTH_HOST 环境变量指定。

kubeconfig

字符串

现有 Kubernetes 配置文件的路径。如果未提供,并且未提供其他连接选项,则 Kubernetes 客户端将尝试从 _~/.kube/config_ 加载默认配置文件。也可以通过 K8S_AUTH_KUBECONFIG 环境变量指定。

name

字符串

分配给集群的可选名称。如果未提供,则会从服务器和端口构造一个名称。

namespaces

字符串

命名空间列表。如果未指定,将获取用户有权访问的所有命名空间的所有容器。

password

字符串

提供用于通过 API 进行身份验证的密码。也可以通过 K8S_AUTH_PASSWORD 环境变量指定。

username

字符串

提供用于通过 API 进行身份验证的用户名。也可以通过 K8S_AUTH_USERNAME 环境变量指定。

validate_certs

别名:verify_ssl

布尔值

是否验证 API 服务器的 SSL 证书。也可以通过 K8S_AUTH_VERIFY_SSL 环境变量指定。

选择

  • false

  • true

plugin

字符串 / 必需

确保这是“k8s”插件的源文件的令牌。

选择

  • "kubernetes.core.k8s"

  • "k8s"

  • "community.kubernetes.k8s"

示例

# File must be named k8s.yaml or k8s.yml

- name: Authenticate with token, and return all pods and services for all namespaces
  plugin: kubernetes.core.k8s
  connections:
    - host: https://192.168.64.4:8443
      api_key: xxxxxxxxxxxxxxxx
      validate_certs: false

- name: Use default config (~/.kube/config) file and active context, and return objects for a specific namespace
  plugin: kubernetes.core.k8s
  connections:
    - namespaces:
        - testing

- name: Use a custom config file, and a specific context.
  plugin: kubernetes.core.k8s
  connections:
    - kubeconfig: /path/to/config
      context: 'awx/192-168-64-4:8443/developer'

状态

  • 此清单将在 6.0.0 版本中删除。[已弃用]

  • 有关更多信息,请参阅已弃用

作者

  • Chris Houseknecht (@chouseknecht)

  • Fabian von Feilitzsch (@fabianvf)

提示

每个条目类型的配置条目都具有从低到高的优先级顺序。例如,列表中较低的变量将覆盖列表中较高的变量。