Spec-Zone.ru › Ansible

community.okd.openshift_process модуль — Обработка шаблона OpenShift template.openshift.io/v1

Примечание

Этот модуль входит в коллекцию community.okd (версия 3.0.1).

Возможно, эта коллекция уже установлена, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

Для установки используйте: ansible-galaxy collection install community.okd. Для использования этого модуля необходимы дополнительные требования. Подробности см. в разделе Требования.

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

Новая функция в community.okd 0.3.0

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

Обзор

  • Обрабатывает указанный шаблон OpenShift с предоставленным шаблоном.
  • Шаблоны могут быть предоставлены встроены, из файла или указаны по имени и имени пространства в кластере.
  • Аналогично команде `oc process`.
  • Для операций CRUD над самими ресурсами шаблонов см. модуль community.okd.k8s.

Требования

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

  • python >= 3.6
  • kubernetes >= 12.0.0
  • PyYAML >= 3.11

Параметры

Параметр

Комментарии

api_key

строка

Токен, используемый для аутентификации с API. Также может быть задан через переменную окружения K8S_AUTH_API_KEY.

ca_cert

псевдонимы: ssl_ca_cert

путь

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

client_cert

псевдонимы: cert_file

путь

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

client_key

псевдонимы: key_file

путь

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

context

строка

Имя контекста, найденного в файле конфигурации. Также может быть задан через переменную окружения K8S_AUTH_CONTEXT.

host

строка

Укажите URL для доступа к API. Также может быть задан через переменную окружения K8S_AUTH_HOST.

impersonate_groups

список / элементы=строка

добавлено в kubernetes.core 2.3.0

Группа(ы) для имитации при выполнении операции.

Также может быть задан через переменную окружения K8S_AUTH_IMPERSONATE_GROUPS. Пример: Group1,Group2

impersonate_user

строка

добавлено в kubernetes.core 2.3.0

Имя пользователя для имитации при выполнении операции.

Также может быть задан через переменную окружения K8S_AUTH_IMPERSONATE_USER.

kubeconfig

любой

Путь к существующему файлу конфигурации Kubernetes. Если не указано и не указаны другие параметры подключения, клиент Kubernetes попытается загрузить файл конфигурации по умолчанию из ~/.kube/config. Также может быть задан через переменную окружения K8S_AUTH_KUBECONFIG.

Несколько файлов конфигурации Kubernetes могут быть предоставлены с разделителем ‘;’ для платформ Windows или ‘:’ для других платформ.

Конфигурация kubernetes может быть предоставлена в виде словаря. Эта функция требует библиотеки python kubernetes версии >= 17.17.0. Добавлено в версии 2.2.0.

name

строка

Имя шаблона для обработки.

Шаблон должен быть присутствовать в кластере.

При указании параметра namespace обязателен.

Взаимоисключающие параметры resource_definition или src

namespace

строка

Пространство имён, в котором можно найти шаблон.

namespace_target

строка

Пространство имён, в котором ресурсы должны быть созданы, обновлены или удалены.

Используется только при указании state как присутствующее или отсутствующее.

no_proxy

строка

добавлено в kubernetes.core 2.3.0

Список хостов/доменов/IP/CIDR (через запятую), которые не должны проходить через прокси. Также может быть задан через переменную окружения K8S_AUTH_NO_PROXY.

Обратите внимание, что этот модуль не использует типичные настройки прокси из окружения (например, NO_PROXY).

Эта функция требует kubernetes>=19.15.0. Если библиотека kubernetes менее 19.15.0, она завершается неудачно, даже если no_proxy задан верно.

Пример значения: “localhost,.local,.example.com,127.0.0.1,127.0.0.0/8,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16”

parameter_file

строка

Путь к файлу, содержащему значения параметров шаблона для переопределения/установки значений в шаблоне.

Соответствует аргументу `–param-file` команды oc process.

parameters

словарь

Набор пар ключ:значение, которые будут использоваться для установки/переопределения значений в шаблоне.

Соответствует аргументу `–param` команды oc process.

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

Варианты:

  • false
  • true

proxy

строка

URL HTTP-прокси, который нужно использовать для подключения. Также может быть задан через переменную окружения K8S_AUTH_PROXY.

Обратите внимание, что этот модуль не использует типичные настройки прокси из окружения (например, HTTP_PROXY).

proxy_headers

словарь

добавлено в kubernetes.core 2.0.0

Заголовок, используемый для HTTP-прокси.

Документация доступна здесь https://urllib3.readthedocs.io/en/latest/reference/urllib3.util.html?highlight=proxy_headers#urllib3.util.make_headers.

basic_auth

строка

Разделенный двоеточием логин:пароль для заголовка аутентификации по принципу basic.

Также можно указать через переменную среды K8S_AUTH_PROXY_HEADERS_BASIC_AUTH.

proxy_basic_auth

строка

Разделенный двоеточием логин:пароль для заголовка прокси-аутентификации по принципу basic.

Также можно указать через переменную среды K8S_AUTH_PROXY_HEADERS_PROXY_BASIC_AUTH.

user_agent

строка

Строка, представляющая пользовательский агент, например, foo/1.0.

Также можно указать через переменную среды K8S_AUTH_PROXY_HEADERS_USER_AGENT.

resource_definition

псевдонимы: definition, inline

строка

Предоставьте допустимое определение YAML (в виде строки, списка или словаря) для объекта при создании или обновлении.

ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в предоставленном resource_definition.

src

путь

Укажите путь к файлу, содержащему допустимое определение YAML объекта или объектов для создания или обновления. Взаимоисключающее с resource_definition. ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в конфигурации, считанной из файла src.

Считывает данные из локальной файловой системы. Для чтения из файловой системы контроллера Ansible, включая зашифрованные файлы, используйте плагин поиска файла или плагин поиска шаблонов, в сочетании с фильтром from_yaml, и передайте результат в resource_definition. См. Примеры ниже.

Ссылка на файлы манифестов, которые могут быть использованы для создания ресурса. Добавлен в версии 2.4.0.

Взаимоисключающее с template в случае модуля kubernetes.core.k8s.

state

строка

Определяет, что делать с отрендеренным шаблоном.

Состояние rendered рендерит шаблон на основе предоставленных параметров и возвращает отрендеренные объекты в поле resources. Эти объекты можно затем использовать в последующих задачах.

Состояние present приведет к созданию ресурсов в отрендеренном шаблоне, если они еще не существуют, и к их обновлению, если они существуют.

Состояние absent удалит ресурсы в отрендеренном шаблоне.

Варианты:

  • "absent"
  • "present"
  • "rendered" ← (по умолчанию)

username

строка

Укажите имя пользователя для аутентификации с API. Также можно указать через переменную среды K8S_AUTH_USERNAME.

Обратите внимание, что это работает только с кластерами, настроенными на использование HTTP Basic Auth. Если ваш кластер использует другой вид аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует обратиться к модулю community.okd.k8s_auth, так как он может вам помочь.

validate_certs

псевдонимы: verify_ssl

булево

Проверять или нет SSL-сертификаты сервера API. Также можно указать через переменную среды K8S_AUTH_VERIFY_SSL.

Варианты:

  • false
  • true

wait

булево

Ожидать, пока определенные типы ресурсов достигнут желаемого состояния.

По умолчанию модуль завершается после того, как Kubernetes получил запрос.

Реализовано для state=present для Deployment, DaemonSet и Pod, и для state=absent для всех типов ресурсов.

Для типов ресурсов без реализации wait возвращается немедленно, если wait_condition не задан.

Варианты:

  • false ← (по умолчанию)
  • true

wait_condition

словарь

Указывает пользовательское условие в статусе для ожидания.

Игнорируется, если wait не задан или имеет значение False.

reason

строка

Значение поля reason в требуемом условии.

Например, если Deployment приостановлен, у Progressing type будет причина DeploymentPaused.

Возможные причины в условии специфичны для каждого типа ресурса в Kubernetes.

См. документацию API для поля status данного ресурса, чтобы увидеть возможные значения.

status

строка

Значение поля status в требуемом условии.

Например, если Deployment приостановлен, у Progressing type будет статус Unknown.

Варианты:

  • "True" ← (по умолчанию)
  • "False"
  • "Unknown"

type

строка

Тип условия, для которого нужно ждать.

Например, ресурс Pod установит условие Ready (среди прочих).

Требуется, если вы указываете wait_condition.

Если оставлено пустым, поле wait_condition будет проигнорировано.

Возможные типы условий специфичны для каждого типа ресурса в Kubernetes.

См. документацию API для поля status данного ресурса, чтобы увидеть возможные значения.

wait_sleep

integer

Количество секунд ожидания между проверками.

По умолчанию: 5

wait_timeout

integer

Время ожидания (в секундах) достижения ресурсом желаемого состояния.

Игнорируется, если wait не задано.

По умолчанию: 120

Примечания

Примечание

  • Чтобы избежать ошибок проверки SSL-сертификата, когда validate_certs имеет значение True, полная цепочка сертификатов API-сервера должна быть предоставлена через ca_cert или в файле kubeconfig.

Примеры

- name: Process a template in the cluster
  community.okd.openshift_process:
    name: nginx-example
    namespace: openshift # only needed if using a template already on the server
    parameters:
      NAMESPACE: openshift
      NAME: test123
    state: rendered
  register: result

- name: Create the rendered resources using apply
  community.okd.k8s:
    namespace: default
    definition: '{{ item }}'
    wait: true
    apply: true
  loop: '{{ result.resources }}'

- name: Process a template with parameters from an env file and create the resources
  community.okd.openshift_process:
    name: nginx-example
    namespace: openshift
    namespace_target: default
    parameter_file: 'files/nginx.env'
    state: present
    wait: true

- name: Process a local template and create the resources
  community.okd.openshift_process:
    src: files/example-template.yaml
    parameter_file: files/example.env
    namespace_target: default
    state: present

- name: Process a local template, delete the resources, and wait for them to terminate
  community.okd.openshift_process:
    src: files/example-template.yaml
    parameter_file: files/example.env
    namespace_target: default
    state: absent
    wait: true

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

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

Ключ

Описание

resources

сложное

Отображенные ресурсы, определенные в шаблоне

Возвращается: при успехе, когда состояние отображено

apiVersion

строка

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

Возвращается: успех

kind

строка

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

Возвращается: успех

metadata

сложное

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

Возвращается: успех

name

строка

Имя ресурса

Возвращается: успех

namespace

строка

Пространство имен ресурса

Возвращается: успех

spec

словарь

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

Возвращается: успех

status

словарь

Текущие сведения о состоянии объекта.

Возвращается: успех

conditions

сложное

Массив состояний объекта. Не гарантируется наличие

Возвращается: успех

result

сложное

Созданный, измененный или присутствующий объект. Будет пустым в случае удаления.

Возвращается: при успехе, когда состояние присутствует или отсутствует

apiVersion

строка

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

Возвращается: успех

duration

целое число

время выполнения задачи в секундах

Возвращается: когда wait равно true

Пример: 48

items

список / элементы=строка

Возвращается только когда несколько yaml документов передаются в src или resource_definition

Возвращается: когда resource_definition или src содержат список объектов

kind

строка

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

Возвращается: успех

metadata

сложное

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

Возвращается: успех

name

строка

Имя ресурса

Возвращается: успех

namespace

строка

Пространство имен ресурса

Возвращается: успех

spec

словарь

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

Возвращается: успех

status

сложное

Текущие сведения о состоянии объекта.

Возвращается: успех

conditions

сложное

Массив состояний объекта. Не гарантируется наличие

Возвращается: успех

Авторы

  • Fabian von Feilitzsch (@fabianvf)

Ссылки на коллекции

  • Отслеживание проблем
  • Репозиторий (источники)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/okd/openshift_process_module.html

Spec-Zone.ru

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