Spec-Zone.ru › Ansible 2.11

kubernetes.core.k8s_log – Выгрузка логов из ресурсов Kubernetes

Примечание

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

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

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

Новое в версии 0.10.0: сборки kubernetes.core

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

Описание

  • Используйте клиент 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, 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
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), токен обновляется библиотекой 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

Примечания

Примечание

  • Клиент 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
  kubernetes.core.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
  kubernetes.core.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
  kubernetes.core.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
  kubernetes.core.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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/kubernetes/core/k8s_log_module.html

Spec-Zone.ru

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