Spec-Zone.ru › Ansible 2.11

kubernetes.core.k8s_info – Описание объектов Kubernetes (K8s)

Примечание

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

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

Для использования в книге задач укажите: kubernetes.core.k8s_info.

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

Обзор

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

Примечание

У этого модуля есть соответствующий плагин действий.

Требования

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

  • python >= 2.7
  • openshift >= 0.6
  • PyYAML >= 3.11

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_key
строка
Токен, используемый для аутентификации с API. Также может быть указан в переменной среды K8S_AUTH_API_KEY.
api_version
строка
Значение по умолчанию:
"v1"
Используется для указания версии API.
Используется для создания, удаления или поиска объекта без предоставления полного определения ресурса.
Используется совместно с kind, name и namespace для идентификации конкретного объекта.
Если определение ресурса предоставлено, значение apiVersion из resource_definition переопределит этот параметр.

псевдонимы: api, version
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
context
строка
Имя контекста, найденного в файле конфигурации. Также может быть указан в переменной среды K8S_AUTH_CONTEXT.
field_selectors
список / элементы=строка
Список селекторов полей для фильтрации результатов
host
строка
Укажите URL для доступа к API. Также может быть указан в переменной среды K8S_AUTH_HOST.
kind
строка / обязательный
Используется для указания модели объекта.
Используется для создания, удаления или поиска объекта без предоставления полного определения ресурса.
Используется совместно с api_version, name и namespace для идентификации конкретного объекта.
Если определение ресурса предоставлено, значение kind из resource_definition переопределит этот параметр.
kubeconfig
путь
Путь к существующему файлу конфигурации Kubernetes. Если не указан и не указаны другие параметры подключения, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть указан в переменной среды K8S_AUTH_KUBECONFIG.
label_selectors
список / элементы=строка
Список селекторов меток для фильтрации результатов
name
строка
Используется для указания имени объекта.
Используется для создания, удаления или поиска объекта без предоставления полного определения ресурса.
Используется совместно с api_version, kind и namespace для идентификации конкретного объекта.
Если определение ресурса предоставлено, значение metadata.name из resource_definition переопределит этот параметр.
namespace
строка
Используется для указания пространства имен объекта.
Полезно при создании, удалении или поиске объекта без предоставления полного определения ресурса.
Используется совместно с api_version, kind и name для идентификации конкретного объекта.
Если определение ресурса предоставлено, значение metadata.namespace из resource_definition переопределит этот параметр.
password
строка
Укажите пароль для аутентификации с API. Также может быть указан в переменной среды K8S_AUTH_PASSWORD.
Пожалуйста, ознакомьтесь с описанием параметра username для обсуждения случаев, когда этот параметр применим.
persist_config
булево
    Варианты:
  • нет
  • да
Флаг сохранения токенов обновления конфигурации kube. Также может быть указан в переменной среды K8S_AUTH_PERSIST_CONFIG.
Когда контекст k8s использует учетные данные пользователя с токенами обновления (например, oidc или gke/gcloud auth), токен обновляется библиотекой k8s python, но по умолчанию не сохраняется. Поэтому старый токен обновления может истечь, и следующая аутентификация может завершиться неудачно. Установка этого флага в значение true сообщит библиотеке k8s python о сохранении нового токена обновления в файле конфигурации kube.
Значение по умолчанию — false.
Обратите внимание, что текущая версия библиотеки k8s python пока не поддерживает установку этого флага в значение True.
Исправление для этой библиотеки k8s python находится здесь: https://github.com/kubernetes-client/python-base/pull/169
proxy
строка
URL HTTP-прокси, который следует использовать для подключения. Также может быть указан в переменной среды K8S_AUTH_PROXY.
Обратите внимание, что этот модуль не использует типичные параметры прокси из среды (например, HTTP_PROXY).
username
строка
Укажите имя пользователя для аутентификации с API. Также может быть указан в переменной среды K8S_AUTH_USERNAME.
Обратите внимание, что это работает только с кластерами, настроенными для использования HTTP Basic Auth. Если ваш кластер имеет другой вид аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует обратиться к модулю k8s_auth, поскольку он, возможно, выполнит необходимые действия.
validate_certs
булево
    Варианты:
  • нет
  • да
Флаг проверки SSL-сертификатов сервера API. Также может быть указан в переменной среды K8S_AUTH_VERIFY_SSL.

псевдонимы: verify_ssl
wait
булево
    Варианты:
  • нет ←
  • да
Флаг ожидания завершения определенных типов ресурсов в желаемом состоянии.
По умолчанию модуль завершает работу после того, как Kubernetes получит запрос.
Реализовано для state=present для Deployment, DaemonSet и Pod, и для state=absent для всех типов ресурсов.
Для типов ресурсов без реализации wait возвращается немедленно, если wait_condition не задано.
wait_condition
словарь
Указывает пользовательское условие состояния, которое следует ожидать.
Игнорируется, если wait не задано или установлено в False.
reason
строка
Значение поля reason в желаемом состоянии.
Например, если Deployment приостановлен, поле Progressing type будет иметь значение reason DeploymentPaused.
Возможные значения reason в состоянии зависят от типа ресурса в Kubernetes.
См. документацию API к полю status для данного ресурса, чтобы увидеть возможные значения.
status
строка
    Варианты:
  • True ←
  • False
  • Unknown
Значение поля status в желаемом состоянии.
Например, если Deployment приостановлен, поле Progressing type будет иметь значение status Unknown.
type
строка
Тип условия, которое следует ожидать.
Например, ресурс Pod установит состояние Ready (среди прочих).
Требуется, если вы указываете условие wait_condition.
Если оставлено пустым, поле wait_condition будет проигнорировано.
Возможные типы условия зависят от типа ресурса в Kubernetes.
См. документацию API к полю status для данного ресурса, чтобы увидеть возможные значения.
wait_sleep
целое число
Значение по умолчанию:
5
Количество секунд ожидания между проверками.
wait_timeout
целое число
Значение по умолчанию:
120
Время ожидания в секундах для достижения ресурсом желаемого состояния.
Игнорируется, если wait не установлено.

Примечания

Примечание

  • Клиент OpenShift Python оборачивает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Для получения сведений о версиях API и дополнительной информации посетите https://github.com/openshift/openshift-restclient-python
  • Чтобы избежать ошибок проверки SSL-сертификатов, когда validate_certs равно True, полная цепочка сертификатов сервера API должна быть предоставлена через ca_cert или в файле kubeconfig.

Примеры

- name: Get an existing Service object
  kubernetes.core.k8s_info:
    api_version: v1
    kind: Service
    name: web
    namespace: testing
  register: web_service

- name: Get a list of all service objects
  kubernetes.core.k8s_info:
    api_version: v1
    kind: Service
    namespace: testing
  register: service_list

- name: Get a list of all pods from any namespace
  kubernetes.core.k8s_info:
    kind: Pod
  register: pod_list

- name: Search for all Pods labelled app=web
  kubernetes.core.k8s_info:
    kind: Pod
    label_selectors:
      - app = web
      - tier in (dev, test)

- name: Using vars while using label_selectors
  kubernetes.core.k8s_info:
    kind: Pod
    label_selectors:
      - "app = {{ app_label_web }}"
  vars:
    app_label_web: web

- name: Search for all running pods
  kubernetes.core.k8s_info:
    kind: Pod
    field_selectors:
      - status.phase=Running

- name: List custom objects created using CRD
  kubernetes.core.k8s_info:
    kind: MyCustomObject
    api_version: "stable.example.com/v1"

- name: Wait till the Object is created
  kubernetes.core.k8s_info:
    kind: Pod
    wait: yes
    name: pod-not-yet-created
    namespace: default
    wait_sleep: 10
    wait_timeout: 360

Значения возврата

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

Ключ Возвращаемое значение Описание
resources
complex
success
Существующий(ие) объект(ы).

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

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

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

spec
dictionary
success
Уникальные атрибуты объекта. Будут различаться в зависимости от api_version и kind.

status
dictionary
success
Текущие детали состояния объекта.



Авторы

  • Will Thames (@willthames)

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

Spec-Zone.ru

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