Spec-Zone.ru › Ansible 2.10

community.kubernetes.k8s_log – Вывод журналов из ресурсов Kubernetes

Примечание

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

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

Чтобы использовать его в книге задач, укажите: community.kubernetes.k8s_log.

Новое в версии 0.10.0: of community.kubernetes

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

Обзор

  • Используйте OpenShift Python-клиент для выполнения операций чтения на конечных точках журналов K8s.
  • Производите аутентификацию, используя файл конфигурации, сертификаты, пароль или токен.
  • Поддерживает режим проверки.
  • Аналогично kubectl logs или oc logs

Примечание

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

Требования

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

  • 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, версия
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
container
строка
Используется для указания контейнера внутри под, из которого нужно получить журнал.
Если имеется только один контейнер, этот параметр будет задаваться по умолчанию.
Если имеется более одного контейнера, этот параметр обязателен.
context
строка
Имя контекста, найденного в файле конфигурации. Также может быть указан через переменную окружения K8S_AUTH_CONTEXT.
host
строка
Укажите URL для доступа к API. Также может быть указан через переменную окружения K8S_AUTH_HOST.
kind
строка
По умолчанию:
"Pod"
Используется для указания модели объекта.
Используется вместе с api_version, name и namespace для идентификации конкретного объекта.
Если используется label_selectors, не может быть переопределён.
kubeconfig
путь
Путь к существующему файлу конфигурации Kubernetes. Если не указан, и не указаны другие параметры подключения, клиент OpenShift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть указан через переменную окружения K8S_AUTH_KUBECONFIG.
label_selectors
список / элементы=строка
Список селекторов меток для фильтрации результатов.
Только один из name или label_selectors может быть предоставлен.
name
строка
Используется для указания имени объекта.
Используется вместе с api_version, kind и namespace для идентификации конкретного объекта.
Только один из name или label_selectors может быть предоставлен.
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), токен обновляется библиотекой Python-клиента k8s, но по умолчанию не сохраняется. Поэтому старый токен обновления может истечь, и следующая аутентификация может завершиться неудачей. Установка этого флага в значение true сообщит библиотеке Python-клиента k8s о сохранении нового токена обновления в файле конфигурации kube.
По умолчанию значение false.
Обратите внимание, что текущая версия библиотеки Python-клиента k8s пока не поддерживает установку этого флага в значение True.
Исправление для этой библиотеки Python k8s находится здесь: 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

Примечания

Примечание

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

Примеры

- name: Get a log from a Pod
  community.kubernetes.k8s_log:
    name: example-1
    namespace: testing
  register: log

# This will get the log from the first Pod found matching the selector
- name: Log a Pod matching a label selector
  community.kubernetes.k8s_log:
    namespace: testing
    label_selectors:
    - app=example
  register: log

# This will get the log from a single Pod managed by this Deployment
- name: Get a log from a Deployment
  community.kubernetes.k8s_log:
    api_version: apps/v1
    kind: Deployment
    namespace: testing
    name: example
  register: log

# This will get the log from a single Pod managed by this DeploymentConfig
- name: Get a log from a DeploymentConfig
  community.kubernetes.k8s_log:
    api_version: apps.openshift.io/v1
    kind: DeploymentConfig
    namespace: testing
    name: example
  register: log

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

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

Ключ Возвращаемое Описание
log
строка
успех
Текстовый журнал объекта

log_lines
список / элементы=строка
успех
Журнал объекта, разделенный на строки



Авторы

  • Fabian von Feilitzsch (@fabianvf)

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

Spec-Zone.ru

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