argo_workflows
Ansible Роль: Argo Workflows
Это роль Ansible для настройки Argo Workflows в одном пространстве имен.
О проекте
Посмотрите пост в блоге на Medium для подробного руководства.
Требования
- Кластер OpenShift с правами cluster-admin.
Зачем нужен доступ cluster-admin?
Argo создает CRD, эта операция требует (если не настроено иначе) прав cluster-admin.
- Установленные зависимости для ansible модуля k8s
pip install kubernetes openshift
- Установленный
kubectl
(смотрите https://kubernetes.io/docs/tasks/tools/install-kubectl/)
Установка роли из Ansible Galaxy
ansible-galaxy install thoth-station.argo_workflows
Переменные роли
defaults:
# Пространство имен, в которое должен быть установлен Argo
namespace: argo
# Это предполагает наличие определенных прав и модифицирует ресурсы соответственно
# Например, предполагается, что разработчик не сможет создавать CRD.
# Эти ресурсы поэтому должны уже существовать в кластере.
role: cluster-admin # варианты: developer, cluster-admin
# Пользовательский оверлей, который будет применен через kustomize к базовой установке argo.
# Оверлеи должны находиться в папке [/templates/overlays/](/templates/overlays/) и содержать валидный `kustomization.yaml`
overlay: "" # варианты: openshift
# Арго контейнерный исполнитель
executor: docker # варианты: docker, kubelet, k8sapi, pns
# Проверять ли kubernetes шаблоны перед отправкой через kubectl
validate: true
# metricsConfig контролирует путь и порт для метрик prometheus
metricsEnabled: true
metricsPath: /metrics
metricsPort: 8080
# telemetryConfig контролирует путь и порт для телеметрии prometheus
telemetryEnabled: true
telemetryPath: /telemetry
telemetryPort: 8080
# Артефакты
# ---------
# Тип репозитория артефактов для настройки (если не пусто)
artifactRepository: ""
# archiveLogs будет архивировать основные контейнерные логи как артефакт
# применимо только если artifactRepository != ""
archiveLogs: {{ archiveLogs }}
# конфигурация репозитория артефактов s3
# применимо только если artifactRepository == "s3"
AWS_S3_BUCKET_PREFIX: "" # префикс ведра s3
AWS_S3_ARTIFACT_PATH: "" # путь к директории артефактов в префиксе
extra:
# Ссылка на Argo, которую следует использовать
# Может быть ветка, тег или конкретный коммит (по умолчанию - последняя версия)
- ref
# Позволяет переопределять образы.executor и workflow controller
- executor_image
- workflow_controller_image
# Если выбран репозиторий артефактов s3, требуются хост (endpoint) и учетные данные
- AWS_S3_HOST
- AWS_S3_BUCKET_NAME
- AWS_S3_ACCESS_KEY_ID
- AWS_S3_SECRET_ACCESS_KEY
Пример плейбука
---
- name: "Базовый плей для установки Argo в одно пространство имен."
hosts: localhost
connection: local
roles:
- role: thoth-station.argo_workflows
tags:
- argo
- argo-workflows
namespace: argo
ref: v2.4.0
Роль предоставляет возможность добавлять пользовательские оверлеи через Kustomize, в данный момент существует существующий оверлей для среды OpenShift. Используйте так:
---
- name: "Базовый плей для установки Argo в одно пространство имен."
hosts: localhost
connection: local
roles:
- role: thoth-station.argo_workflows
tags:
- argo
- argo-workflows
namespace: argo
# патч базовой установки для работы в пространстве имен OpenShift
# это также добавляет маршрут для argo-ui
overlay: openshift
Испытано на minishift, OpenShift 3.11.
Лицензия
MIT
Информация об авторе
Марк Чермак macermak@redhat.com
Установить
ansible-galaxy install thoth-station/ansible-role-argo-workflows
Лицензия
mit
Загрузки
120
Владелец
Using Artificial Intelligence to analyse and recommend Software Stacks for the Python Ecosystem.