Spec-Zone.ru › Ansible 2.11

community.okd.openshift_process – Обработка шаблона OpenShift template.openshift.io/v1

Примечание

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

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

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

Новое в версии 0.3.0: модуля community.okd

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

Обзор

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

Требования

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

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

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_key
строка
Токен, используемый для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_API_KEY.
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
context
строка
Имя контекста, найденного в файле конфигурации. Также может быть задан через переменную среды K8S_AUTH_CONTEXT.
host
строка
Укажите URL для доступа к API. Также может быть задан через переменную среды K8S_AUTH_HOST.
kubeconfig
путь
Путь к существующему файлу конфигурации Kubernetes. Если не указан и другие параметры подключения не заданы, клиент OpenShift попытается загрузить файл конфигурации по умолчанию из ~/.kube/config.json. Также может быть задан через переменную среды K8S_AUTH_KUBECONFIG.
name
строка
Имя шаблона для обработки.
Шаблон должен присутствовать в кластере.
При указании параметра, параметр namespace является обязательным.
Взаимоисключающий с resource_definition или src
namespace
строка
Пространство имён, в котором можно найти шаблон.
namespace_target
строка
Пространство имён, в котором ресурсы должны быть созданы, обновлены или удалены.
Используется только при наличии или отсутствии state.
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
proxy
строка
URL HTTP-прокси, который следует использовать для подключения. Также может быть задан через переменную среды K8S_AUTH_PROXY.
Обратите внимание, что этот модуль не подхватывает типичные настройки прокси из среды (например, HTTP_PROXY).
resource_definition
строка
Укажите допустимое YAML-определение (как строка, список или словарь) для объекта при создании или обновлении.
ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в предоставленном resource_definition.

Псевдонимы: definition, inline
src
путь
Укажите путь к файлу, содержащему допустимое YAML-определение объекта или объектов, которые нужно создать или обновить. Взаимоисключающий с resource_definition. ПРИМЕЧАНИЕ: kind, api_version, name и namespace будут перезаписаны соответствующими значениями, найденными в конфигурации, считанной из файла src.
Считывает из локальной файловой системы. Для чтения из файловой системы контроллера Ansible, включая зашифрованные файлы, используйте плагин поиска файла или плагин поиска шаблона в сочетании с фильтром from_yaml и передайте результат в resource_definition. См. примеры ниже.
Взаимоисключающий с template в случае модуля k8s.
state
строка
    Варианты:
  • absent
  • present
  • rendered ←
Определяет, что делать с обработанным шаблоном.
Состояние rendered обработает шаблон на основе предоставленных параметров и вернёт обработанные объекты в поле resources. Их можно использовать в последующих задачах.
Состояние present заставит ресурсы в обработанном шаблоне создаваться, если они ещё не существуют, и обновляться, если они существуют.
Состояние absent удалит ресурсы в обработанном шаблоне.
username
строка
Укажите имя пользователя для аутентификации с API. Также может быть задан через переменную среды K8S_AUTH_USERNAME.
Обратите внимание, что это работает только с кластерами, настроенными на использование аутентификации HTTP Basic. Если ваш кластер использует другой тип аутентификации (например, OAuth2 в OpenShift), этот параметр не будет работать должным образом, и вам следует изучить модуль k8s_auth, так как он может выполнить необходимую задачу.
validate_certs
логический тип
    Варианты:
  • нет
  • да
Производить ли проверку SSL-сертификатов сервера API. Также может быть задан через переменную среды K8S_AUTH_VERIFY_SSL.

Псевдонимы: verify_ssl
wait
логический тип
    Варианты:
  • нет ←
  • да
Ожидать ли, пока определённые типы ресурсов окажутся в желаемом состоянии.
По умолчанию модуль завершается после того, как Kubernetes получил запрос.
Реализовано для state=present для Deployment, DaemonSet и Pod, и для state=absent для всех типов ресурсов.
Для типов ресурсов без реализации wait возвращается немедленно, если wait_condition не задано.
wait_condition
словарь
Указывает пользовательское условие для ожидания по статусу.
Игнорируется, если wait не задано или установлено в False.
reason
строка
Значение поля reason в желаемом условии.
Например, если Deployment приостановлен, то у Progressing type будет причина DeploymentPaused.
Возможные причины в условии специфичны для каждого типа ресурса в Kubernetes.
См. документацию API поля status для данного ресурса, чтобы увидеть возможные варианты.
status
строка
    Варианты:
  • True ←
  • False
  • Unknown
Значение поля status в желаемом условии.
Например, если Deployment приостановлен, то у Progressing type будет статус Unknown.
type
строка
Тип условия, которое следует ожидать.
Например, ресурс Pod задаст условие Ready (среди других).
Необходимо, если вы указываете wait_condition.
Если оставлено пустым, поле wait_condition будет проигнорировано.
Возможные типы условия специфичны для каждого типа ресурса в Kubernetes.
См. документацию API поля status для данного ресурса, чтобы увидеть возможные варианты.
wait_sleep
целое число
По умолчанию:
5
Количество секунд ожидания между проверками.
wait_timeout
целое число
По умолчанию:
120
Сколько секунд ждать, пока ресурс окажется в желаемом состоянии.
Игнорируется, если wait не задано.

Примечания

Примечание

  • Клиент OpenShift Python обертывает клиент K8s Python, предоставляя полный доступ ко всем API и моделям, доступным на обеих платформах. Для получения подробностей о версиях API и дополнительной информации посетите https://github.com/openshift/openshift-restclient-python
  • Чтобы избежать ошибок проверки 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: yes
    apply: yes
  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: yes

- 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: yes

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

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

Ключ Возвращается Описание
resources
complex
при успехе, когда состояние отображено
Отображенные ресурсы, определенные в шаблоне

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

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

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

name
string
успех
Имя ресурса

namespace
string
успех
Пространство имен ресурса

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

status
dictionary
успех
Текущие детали состояния объекта.

conditions
complex
успех
Массив условий состояния объекта. Не гарантируется, что он будет присутствовать

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

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

duration
integer
когда wait истинно
продолжительность выполнения задачи в секундах

Пример:
48
items
list / elements=string
при передаче множественных yaml-документов в src или resource_definition
Возвращается только тогда, когда в src или resource_definition передано несколько yaml-документов.

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

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

name
string
успех
Имя ресурса

namespace
string
успех
Пространство имен ресурса

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

status
complex
успех
Текущие детали состояния объекта.

conditions
complex
успех
Массив условий состояния объекта. Не гарантируется, что он будет присутствовать



Авторы

  • 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/okd/openshift_process_module.html

Spec-Zone.ru

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