Spec-Zone.ru › Ansible 2.10

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

Примечание

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

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

Для использования в playbook, укажите: community.kubernetes.k8s_info.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

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

Примечание

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

Требования

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

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

Параметры

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

aliases: api, version
ca_cert
path
Путь к сертификату CA, используемому для аутентификации с API. Для предотвращения ошибок проверки сертификата необходимо предоставить полную цепочку сертификатов. Может быть также указан через переменную среды K8S_AUTH_SSL_CA_CERT.

aliases: ssl_ca_cert
client_cert
path
Путь к сертификату, используемому для аутентификации с API. Может быть также указан через переменную среды K8S_AUTH_CERT_FILE.

aliases: cert_file
client_key
path
Путь к файлу ключа, используемому для аутентификации с API. Может быть также указан через переменную среды K8S_AUTH_KEY_FILE.

aliases: key_file
context
string
Имя контекста, найденного в файле конфигурации. Может быть также указан через переменную среды K8S_AUTH_CONTEXT.
field_selectors
list / elements=string
Список селекторов полей, используемых для фильтрации результатов
host
string
Укажите URL для доступа к API. Может быть также указан через переменную среды K8S_AUTH_HOST.
kind
string / required
Используется для указания модели объекта.
Используется для создания, удаления или обнаружения объекта без предоставления полного определения ресурса.
Используется в сочетании с api_version, name и namespace для идентификации конкретного объекта.
Если предоставлено определение ресурса, значение kind из resource_definition переопределит этот параметр.
kubeconfig
path
Путь к существующему файлу конфигурации Kubernetes. Если не указан, и другие параметры подключения не указаны, клиент openshift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Может быть также указан через переменную среды K8S_AUTH_KUBECONFIG.
label_selectors
list / elements=string
Список селекторов меток, используемых для фильтрации результатов
name
string
Используется для указания имени объекта.
Используется для создания, удаления или обнаружения объекта без предоставления полного определения ресурса.
Используется в сочетании с api_version, kind и namespace для идентификации конкретного объекта.
Если предоставлено определение ресурса, значение metadata.name из resource_definition переопределит этот параметр.
namespace
string
Используется для указания пространства имен объекта.
Полезно при создании, удалении или обнаружении объекта без предоставления полного определения ресурса.
Используется в сочетании с api_version, kind и name для идентификации конкретного объекта.
Если предоставлено определение ресурса, значение metadata.namespace из resource_definition переопределит этот параметр.
password
string
Укажите пароль для аутентификации с API. Может быть также указан через переменную среды K8S_AUTH_PASSWORD.
Пожалуйста, ознакомьтесь с описанием параметра username для обсуждения того, когда этот параметр применим.
persist_config
boolean
    Choices:
  • no
  • yes
Сохранять ли обновлённые токены kube config. Может быть также указан через переменную среды 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
string
URL HTTP-прокси, используемого для соединения. Может быть также указан через переменную среды K8S_AUTH_PROXY.
Обратите внимание, что этот модуль не использует типичные настройки прокси из среды (например, HTTP_PROXY).
username
string
Укажите имя пользователя для аутентификации с API. Может быть также указан через переменную среды K8S_AUTH_USERNAME.
Обратите внимание, что это работает только с кластерами, настроенными на использование HTTP Basic Auth. Если ваш кластер использует другую форму аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует изучить модуль k8s_auth, так как он может сделать то, что вам нужно.
validate_certs
boolean
    Choices:
  • no
  • yes
Проверять ли SSL-сертификаты сервера API. Может быть также указан через переменную среды K8S_AUTH_VERIFY_SSL.

aliases: verify_ssl
wait
boolean
    Choices:
  • no ←
  • yes
Ожидать ли, пока некоторые типы ресурсов не окажутся в желаемом состоянии.
По умолчанию модуль завершает работу, как только Kubernetes получил запрос.
Реализовано для state=present для Deployment, DaemonSet и Pod, и для state=absent для всех типов ресурсов.
Для типов ресурсов без реализации wait возвращается немедленно, если только wait_condition не установлен.
wait_condition
dictionary
Указывает пользовательское условие для состояния ожидания.
Игнорируется, если wait не установлен или установлен в False.
reason
string
Значение поля reason в вашем желаемом условии
Например, если Deployment приостановлен, Progressing type будет иметь причину DeploymentPaused.
Возможные причины в условии специфичны для каждого типа ресурса в Kubernetes.
См. документацию API поля status для данного ресурса, чтобы увидеть возможные варианты.
status
string
    Choices:
  • True ←
  • False
  • Unknown
Значение поля status в вашем желаемом условии.
Например, если Deployment приостановлен, Progressing type будет иметь статус Unknown.
type
string
Тип условия для ожидания.
Например, ресурс Pod установит условие Ready (среди прочих).
Требуется, если вы указываете wait_condition.
Если оставлено пустым, поле wait_condition будет игнорироваться.
Возможные типы условий специфичны для каждого типа ресурсов в Kubernetes.
См. документацию API поля status для данного ресурса, чтобы увидеть возможные варианты.
wait_sleep
integer
Default:
5
Количество секунд для ожидания между проверками.
wait_timeout
integer
Default:
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
  community.kubernetes.k8s_info:
    api_version: v1
    kind: Service
    name: web
    namespace: testing
  register: web_service

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

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

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

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

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

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

- name: Wait till the Object is created
  community.kubernetes.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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.10/collections/community/kubernetes/k8s_info_module.html

Spec-Zone.ru

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