Spec-Zone.ru › Ansible 2.11

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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/kubernetes/k8s_lookup.html

Spec-Zone.ru

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