community.kubernetes.k8s_auth – Авторизация в кластерах Kubernetes, требующих явную авторизацию
Примечание
Этот плагин входит в коллекцию community.kubernetes (версия 1.1.1).
Для его установки используйте: ansible-galaxy collection install community.kubernetes
Для использования в плейбуке укажите: community.kubernetes.k8s_auth
Описание
- Этот модуль обрабатывает авторизацию в кластерах Kubernetes, требующих явной процедуры авторизации, то есть тех, где клиент выполняет вход (получает токен авторизации), выполняет операции API с этим токеном, а затем выполняет выход (аннулирует токен). Примером дистрибутива Kubernetes, требующего этот модуль, является OpenShift.
- С другой стороны, популярная конфигурация для авторизации по имени пользователя и паролю использует HTTP Basic Auth, которая не предполагает дополнительных шагов входа/выхода (вместо этого данные для входа могут быть присоединены к каждому API-запросу), и поэтому обрабатывается напрямую модулем
k8s(и другими модулями, специфичными для ресурсов) с использованием параметровhost,usernameиpassword. Для получения более подробной информации см. документацию по вашему предпочтительному модулю.
Примечание
Этот модуль имеет соответствующий плагин действия.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- python >= 2.7
- urllib3
- requests
- requests-oauthlib
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| api_key строка | Когда state установлено в absent, это указывает токен для аннулирования. | |
| ca_cert путь | Путь к файлу сертификата CA, используемому для проверки подключения к API-серверу. Для избежания ошибок проверки сертификатов необходимо предоставить полную цепочку сертификатов. алиасы: ssl_ca_cert | |
| host строка / обязательно | Укажите URL для доступа к API-серверу. | |
| password строка | Укажите пароль для аутентификации на API-сервере. | |
| state строка |
| Если установлено в present, подключитесь к API-серверу по указанному в host URL и попробуйте войти.Если установлено в absent, попробуйте выйти, аннулировав токен аутентификации, указанный в api_key. |
| username строка | Укажите имя пользователя для аутентификации на API-сервере. | |
| validate_certs логическое |
| Необходимо ли проверять SSL-сертификаты API-сервера. алиасы: verify_ssl |
Примеры
- hosts: localhost
module_defaults:
group/k8s:
host: https://k8s.example.com/
ca_cert: ca.pem
tasks:
- block:
# It's good practice to store login credentials in a secure vault and not
# directly in playbooks.
- include_vars: k8s_passwords.yml
- name: Log in (obtain access token)
community.kubernetes.k8s_auth:
username: admin
password: "{{ k8s_admin_password }}"
register: k8s_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
community.kubernetes.k8s_info:
api_key: "{{ k8s_auth_results.k8s_auth.api_key }}"
kind: Pod
register: pod_list
always:
- name: If login succeeded, try to log out (revoke access token)
when: k8s_auth_results.k8s_auth.api_key is defined
community.kubernetes.k8s_auth:
state: absent
api_key: "{{ k8s_auth_results.k8s_auth.api_key }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для этого модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| k8s_auth сложное | успех | Данные аутентификации Kubernetes. | |
| api_key строка | успех | Токен аутентификации. | |
| ca_cert строка | успех | Путь к файлу сертификата CA, используемому для проверки подключения к API-серверу. | |
| host строка | успех | URL для доступа к API-серверу. | |
| username строка | успех | Имя пользователя для аутентификации на API-сервере. | |
| validate_certs логическое | успех | Необходимо ли проверять SSL-сертификаты API-сервера. | |
Авторы
- Команда KubeVirt (@kubevirt)
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/kubernetes/k8s_auth_module.html