Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

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

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

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

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

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

- name: Use a config from the local filesystem
  set_fact:
    service: "{{ lookup('kubernetes.core.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/kubernetes/core/k8s_lookup.html

Spec-Zone.ru

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