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)

提示

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