Spec-Zone.ru › Ansible 2.11

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

Примечание

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

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

Для использования в плейбуке укажите: community.kubernetes.k8s_log.

В версии 0.10.0: из community.kubernetes

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

Описание

  • Используйте Python-клиент OpenShift для выполнения операций чтения журналов 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

Примечания

Примечание

  • Python-клиент OpenShift оборачивает Python-клиент K8s, предоставляя полный доступ ко всем 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–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/community/kubernetes/k8s_log_module.html

Spec-Zone.ru

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