Spec-Zone.ru › Ansible 2.10

community.kubernetes.k8s – Запрос к API K8s

Примечание

Этот плагин входит в коллекцию community.kubernetes (версия 1.1.1).

Для его установки используйте: ansible-galaxy collection install community.kubernetes.

Чтобы использовать его в плейбуке, укажите: community.kubernetes.k8s.

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Обзор

  • Использует OpenShift Python клиент для получения конкретного объекта по имени, всех соответствующих объектов в пространстве имен или всех соответствующих объектов для всех пространств имен, а также информацию о кластере.
  • Предоставляет доступ ко всему спектру API K8s.
  • Поддерживает аутентификацию через файл конфигурации, сертификаты, пароль или токен.

Требования

Ниже перечислены требования к локальному контроллеру узла, на котором выполняется этот поиск.

  • 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
логическое
    Варианты:
  • нет
  • да
Указывает, нужно ли проверять сертификаты 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('community.kubernetes.k8s', api_version='v1', kind='Namespace') }}"

- name: Fetch all deployments
  set_fact:
    deployments: "{{ lookup('community.kubernetes.k8s', kind='Deployment') }}"

- name: Fetch all deployments in a namespace
  set_fact:
    deployments: "{{ lookup('community.kubernetes.k8s', kind='Deployment', namespace='testing') }}"

- name: Fetch a specific deployment by name
  set_fact:
    deployments: "{{ lookup('community.kubernetes.k8s', kind='Deployment', namespace='testing', resource_name='elastic') }}"

- name: Fetch with label selector
  set_fact:
    service: "{{ lookup('community.kubernetes.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('community.kubernetes.k8s', resource_definition=config) }}"

- name: Use a config from the local filesystem
  set_fact:
    service: "{{ lookup('community.kubernetes.k8s', src='service.yml') }}"

Возвращаемые значения

Общие возвращаемые значения описаны здесь, следующие поля уникальны для этого поиска:

Ключ Возвращаемое значение Описание
_list
сложный тип
успех
Один или несколько определений объектов, возвращенных из API.

api_version
строка
успех
Версионированная схема этого представления объекта.

kind
строка
успех
Представляет REST ресурс, который представляет этот объект.

metadata
сложный тип
успех
Стандартные метаданные объекта. Включает имя, пространство имен, аннотации, метки и т.д.

spec
сложный тип
успех
Конкретные атрибуты объекта. Будут варьироваться в зависимости от api_version и kind.

status
сложный тип
успех
Текущие данные о состоянии объекта.



© 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_lookup.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API