community.okd.openshift_auth 模块 – 验证需要显式登录步骤的 OpenShift 集群
注意
此模块是 community.okd 集合(版本 4.0.0)的一部分。
如果您正在使用 ansible 包,您可能已经安装了此集合。它不包含在 ansible-core 中。要检查是否已安装,请运行 ansible-galaxy collection list。
要安装它,请使用:ansible-galaxy collection install community.okd。您需要其他要求才能使用此模块,有关详细信息,请参见要求。
要在 playbook 中使用它,请指定:community.okd.openshift_auth。
community.okd 0.2.0 中的新增功能
概要
- 此模块处理向需要显式身份验证过程的 OpenShift 集群进行身份验证,这意味着客户端登录(获取身份验证令牌),使用该令牌执行 API 操作,然后注销(撤销令牌)。 
- 另一方面,用户名+密码身份验证的流行配置是使用 HTTP 基本身份验证的配置,该配置不涉及任何额外的登录/注销步骤(而是可以将登录凭据附加到执行的每个 API 调用),因此由 - k8s模块(和其他特定于资源的模块)通过使用- host、- username和- password参数直接处理。有关更多详细信息,请查阅您首选模块的文档。
别名:k8s_auth
要求
执行此模块的主机需要满足以下要求。
- python >= 3.6 
- urllib3 
- requests 
- requests-oauthlib 
参数
| 参数 | 注释 | 
|---|---|
| 当  | |
| 用于验证与 API 服务器的连接的 CA 证书文件的路径。必须提供完整的证书链,以避免证书验证错误。 | |
| 提供用于访问 API 服务器的 URL。 | |
| 提供用于向 API 服务器进行身份验证的密码。 | |
| 如果设置为present,则使用  如果设置为absent,则尝试通过撤销  选项 
 | |
| 提供用于向 API 服务器进行身份验证的用户名。 | |
| 是否验证 API 服务器的 SSL 证书。 选项 
 | 
示例
- name: Example Playbook
  hosts: localhost
  module_defaults:
    group/community.okd.okd:
      host: https://k8s.example.com/
      ca_cert: ca.pem
  tasks:
    - name: Authenticate to OpenShift cluster and gell a list of all pods from any namespace
      block:
        # It's good practice to store login credentials in a secure vault and not
        # directly in playbooks.
        - name: Include 'openshift_passwords.yml'
          ansible.builtin.include_vars: openshift_passwords.yml
        - name: Log in (obtain access token)
          community.okd.openshift_auth:
            username: admin
            password: "{{ openshift_admin_password }}"
          register: openshift_auth_results
        # Previous task provides the token/api_key, while all other parameters
        # are taken from module_defaults
        - name: Get a list of all pods from any namespace
          kubernetes.core.k8s_info:
            api_key: "{{ openshift_auth_results.openshift_auth.api_key }}"
            kind: Pod
          register: pod_list
      always:
        - name: If login succeeded, try to log out (revoke access token)
          when: openshift_auth_results.openshift_auth.api_key is defined
          community.okd.openshift_auth:
            state: absent
            api_key: "{{ openshift_auth_results.openshift_auth.api_key }}"
返回值
常见的返回值记录在这里,以下是此模块独有的字段
| 键 | 描述 | 
|---|---|
| 与返回的 openshift_auth 相同。仅为向后兼容而保留 已返回:成功 | |
| 身份验证令牌。 已返回:成功 | |
| 用于验证与 API 服务器的连接的 CA 证书文件的路径。 已返回:成功 | |
| 用于访问 API 服务器的 URL。 已返回:成功 | |
| 用于向 API 服务器进行身份验证的用户名。 已返回:成功 | |
| 是否验证 API 服务器的 SSL 证书。 已返回:成功 | |
| OpenShift 身份验证信息。 已返回:成功 | |
| 身份验证令牌。 已返回:成功 | |
| 用于验证与 API 服务器的连接的 CA 证书文件的路径。 已返回:成功 | |
| 用于访问 API 服务器的 URL。 已返回:成功 | |
| 用于向 API 服务器进行身份验证的用户名。 已返回:成功 | |
| 是否验证 API 服务器的 SSL 证书。 已返回:成功 | 
