k8s – Запрос к API K8s
Новое в версии 2.5.
Обзор
- Использует клиент OpenShift Python для извлечения определенного объекта по имени, всех соответствующих объектов в пространстве имен или всех соответствующих объектов для всех пространств имен, а также информации о кластере.
- Предоставляет доступ ко всему спектру API K8s.
- Поддерживает аутентификацию через файл конфигурации, сертификаты, пароль или токен.
Псевдонимы: openshift
Требования
Ниже перечислены требования к локальному узлу-мастеру, на котором выполняется этот поиск.
- python >= 2.7
- openshift >= 0.6
- PyYAML >= 3.11
Параметры
| Параметр | Варианты/Значения по умолчанию | Конфигурация | Комментарии |
|---|---|---|---|
| api_key - | Токен, используемый для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_API_KEY. | ||
| api_version - | По умолчанию: "v1" | Используется для указания версии API. Если предоставлено определение ресурса, apiVersion из resource_definition переопределит этот параметр. | |
| ca_cert - | Путь к сертификату CA, используемому для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_SSL_CA_CERT. Псевдонимы: ssl_ca_cert | ||
| client_cert - | Путь к сертификату, используемому для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_CERT_FILE. Псевдонимы: cert_file | ||
| client_key - | Путь к файлу ключа, используемому для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_KEY_FILE. Псевдонимы: key_file | ||
| cluster_info - | Используется для указания типа информации о кластере, которую вы пытаетесь получить. Будет иметь приоритет над всеми другими параметрами. | ||
| context - | Имя контекста, найденного в файле конфигурации. Также может быть задано через переменную среды K8S_AUTH_CONTEXT. | ||
| field_selector - | Указание конкретных полей для запроса. Игнорируется, когда задано resource_name. | ||
| host - | Укажите URL для доступа к API. Также может быть задан через переменную среды K8S_AUTH_HOST. | ||
| kind - / обязательно | Используется для указания модели объекта. Если предоставлено определение ресурса, kind из resource_definition переопределит этот параметр. | ||
| kubeconfig - | Путь к существующему файлу конфигурации Kubernetes. Если не указано и не указаны другие параметры подключения, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть задан через переменную среды K8S_AUTH_KUBECONFIG. | ||
| label_selector - | Дополнительные метки для включения в запрос. Игнорируется, когда задано resource_name. | ||
| namespace - | Ограничение возвращаемых объектов определенным пространством имен. Если предоставлено определение ресурса, значение metadata.namespace из resource_definition переопределит этот параметр. | ||
| password - | Укажите пароль для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_PASSWORD. | ||
| resource_definition - | Укажите YAML-конфигурацию для объекта. ПРИМЕЧАНИЕ: kind, api_version, resource_name и namespace будут переопределены соответствующими значениями, найденными в предоставленном resource_definition. | ||
| resource_name - | Извлечение определенного объекта по имени. Если предоставлено определение ресурса, значение metadata.name из resource_definition переопределит этот параметр. | ||
| src - | Укажите путь к файлу, содержащему допустимое YAML-определение объекта. Взаимоисключающее с resource_definition. ПРИМЕЧАНИЕ: kind, api_version, resource_name и namespace будут переопределены соответствующими значениями, прочитанными из файла src. Читает из локальной файловой системы. Чтобы читать из файловой системы контроллера Ansible, используйте плагин поиска файлов или плагин поиска шаблонов, в сочетании с фильтром from_yaml, и передайте результат в resource_definition. См. примеры ниже. | ||
| username - | Укажите имя пользователя для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_USERNAME. | ||
| validate_certs boolean |
| Определяет, нужно ли проверять SSL-сертификаты сервера API. Также может быть задан через переменную среды K8S_AUTH_VERIFY_SSL. Псевдонимы: verify_ssl |
Примечания
Примечание
- Клиент OpenShift Python оборачивает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Для получения сведений о версии API и дополнительной информации посетите https://github.com/openshift/openshift-restclient-python
Примеры
- name: Fetch a list of namespaces
set_fact:
projects: "{{ lookup('k8s', api_version='v1', kind='Namespace') }}"
- name: Fetch all deployments
set_fact:
deployments: "{{ lookup('k8s', kind='Deployment') }}"
- name: Fetch all deployments in a namespace
set_fact:
deployments: "{{ lookup('k8s', kind='Deployment', namespace='testing') }}"
- name: Fetch a specific deployment by name
set_fact:
deployments: "{{ lookup('k8s', kind='Deployment', namespace='testing', resource_name='elastic') }}"
- name: Fetch with label selector
set_fact:
service: "{{ lookup('k8s', kind='Service', label_selector='app=galaxy') }}"
# Use parameters from a YAML config
- name: Load config from the Ansible controller filesystem
set_fact:
config: "{{ lookup('file', 'service.yml') | from_yaml }}"
- name: Using the config (loaded from a file in prior task), fetch the latest version of the object
set_fact:
service: "{{ lookup('k8s', resource_definition=config) }}"
- name: Use a config from the local filesystem
set_fact:
service: "{{ lookup('k8s', src='service.yml') }}"
Возвращаемые значения
Общие возвращаемые значения описаны здесь, следующие являются полями, уникальными для этого поиска:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| _list complex | Один или несколько определений объекта, возвращенных API. | ||
| api_version строка | успех | Версионированная схема этого представления объекта. | |
| kind строка | успех | Представляет REST-ресурс, который представляет этот объект. | |
| metadata complex | успех | Стандартные метаданные объекта. Включает имя, пространство имен, аннотации, метки и т.д. | |
| spec complex | успех | Конкретные атрибуты объекта. Будут меняться в зависимости от api_version и kind. | |
| status complex | успех | Текущие детали статуса объекта. | |
Статус
- Данный поиск не гарантирует обратную совместимость интерфейса. [превью]
- Этот поиск поддерживается сообществом Ansible. [community]
Авторы
- НЕИЗВЕСТНО
Подсказка
Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
Подсказка
Параметры конфигурации для каждого типа записи имеют порядок приоритета от низкого к высокому. Например, переменная, которая находится ниже в списке, переопределит переменную, которая находится выше.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/plugins/lookup/k8s.html