thoth-station.argo_workflows
Rola Ansible: Argo Workflows
To jest rola Ansible do skonfigurowania Argo Workflows w pojedynczej przestrzeni nazw.
O roli
Sprawdź ten wpis na Medium dla szczegółowego przewodnika.
Wymagania
- Klaster OpenShift z uprawnieniami cluster-admin.
Dlaczego wymagany jest dostęp cluster-admin?
Argo tworzy CRD, ta operacja wymaga (chyba że skonfigurowano inaczej) uprawnień cluster-admin.
- Zainstalowane zależności dla modułu ansible k8s
pip install kubernetes openshift
- Zainstalowane
kubectl
(zobacz https://kubernetes.io/docs/tasks/tools/install-kubectl/)
Instalacja roli z Ansible Galaxy
ansible-galaxy install thoth-station.argo_workflows
Zmienne roli
defaults:
# Przestrzeń nazw, do której Argo powinno być wdrożone
namespace: argo
# Zakłada pewne uprawnienia i modyfikuje zasoby odpowiednio
# Na przykład zakłada, że deweloper nie będzie mógł tworzyć
# CRD. Zasoby te powinny więc już istnieć w klastrze.
role: cluster-admin # opcje: developer, cluster-admin
# Niestandardowy overlay, który zostanie zastosowany za pomocą kustomize do podstawowej instalacji Argo.
# Overlay muszą być obecne w folderze [/templates/overlays/](/templates/overlays/) i muszą zawierać prawidłowy `kustomization.yaml`
overlay: "" # opcje: openshift
# Wykonawca kontenera Argo
executor: docker # opcje: docker, kubelet, k8sapi, pns
# Czy walidować szablony kubernetes podczas przesyłania przez kubectl
validate: true
# metricsConfig kontroluje ścieżkę i port dla metryk prometheus
metricsEnabled: true
metricsPath: /metrics
metricsPort: 8080
# telemetryConfig kontroluje ścieżkę i port dla telemetrii prometheus
telemetryEnabled: true
telemetryPath: /telemetry
telemetryPort: 8080
# Artefakty
# ---------
# Rodzaj repozytorium artefaktów do skonfigurowania (jeśli nie jest pusty)
# opcje:
# - "s3"
artifactRepository: ""
# archiveLogs zarchiwizuje logi głównego kontenera jako artefakt
# dotyczy tylko, jeśli artifactRepository != ""
archiveLogs: {{ archiveLogs }}
# konfiguracja repozytorium artefaktów s3
# dotyczy tylko, jeśli artifactRepository == "s3"
AWS_S3_BUCKET_PREFIX: "" # prefiks koszyka s3
AWS_S3_ARTIFACT_PATH: "" # ścieżka do katalogu artefaktów w prefiksie
extra:
# Argo referencja do użycia
# Może być to gałąź, tag lub konkretny commit (domyślnie najnowsze wydanie)
- ref
# Umożliwia nadpisanie obrazów wykonawcy i kontrolera workflow
- executor_image
- workflow_controller_image
# Jeśli wybrane zostało repozytorium artefaktów s3, wymagane są host (endpoint) i dane uwierzytelniające
- AWS_S3_HOST
- AWS_S3_BUCKET_NAME
- AWS_S3_ACCESS_KEY_ID
- AWS_S3_SECRET_ACCESS_KEY
Przykład Playbooka
---
- name: "Podstawowy Play do wdrożenia Argo w pojedynczej przestrzeni nazw."
hosts: localhost
connection: local
roles:
- role: thoth-station.argo_workflows
tags:
- argo
- argo-workflows
namespace: argo
ref: v2.4.0
Rola umożliwia dodawanie niestandardowych overlayów za pomocą Kustomize, obecnie istnieje overlay dla środowiska OpenShift. Używaj go w następujący sposób:
---
- name: "Podstawowy Play do wdrożenia Argo w pojedynczej przestrzeni nazw."
hosts: localhost
connection: local
roles:
- role: thoth-station.argo_workflows
tags:
- argo
- argo-workflows
namespace: argo
overlay: openshift # poprawia podstawową instalację, aby działała w przestrzeni nazw OpenShift
Testowane na minishift, OpenShift 3.11.
Licencja
MIT
Informacje o autorze
Marek Cermak macermak@redhat.com
Zainstaluj
ansible-galaxy install thoth-station.argo_workflows
Licencja
mit
Pobrania
129
Właściciel
Using Artificial Intelligence to analyse and recommend Software Stacks for the Python Ecosystem.