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 строка |
| Определяет, что делать с обработанным шаблоном. Состояние 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 строка |
| Значение поля 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