thoth-station.argo_workflows
Ansible Rôle : Argo Workflows
Ceci est un rôle Ansible pour mettre en place Argo Workflows dans un seul espace de noms.
À propos
Consultez le article de blog sur Medium pour un guide détaillé.
Exigences
- Cluster OpenShift avec des droits de cluster-admin.
Pourquoi un accès cluster-admin est-il requis ?
Argo crée une CRD, cette opération nécessite (sauf configuration contraire) des privilèges de cluster-admin.
- Dépendances installées pour le module Ansible k8s
pip install kubernetes openshift
kubectl
installé (voir https://kubernetes.io/docs/tasks/tools/install-kubectl/)
Installer le rôle depuis Ansible Galaxy
ansible-galaxy install thoth-station.argo_workflows
Variables du Rôle
defaults:
# Espace de noms dans lequel Argo doit être provisionné
namespace: argo
# Cela suppose certaines privilèges et modifie les ressources en conséquence
# Par exemple, il est supposé qu'un développeur ne pourra pas créer
# une CRD. Ces ressources sont donc censées exister déjà dans le cluster.
role: cluster-admin # options: developer, cluster-admin
# Superposition personnalisée à appliquer via kustomize à l'installation de base d'argo.
# Les superpositions doivent être présentes dans le dossier [/templates/overlays/](/templates/overlays/) et doivent contenir un `kustomization.yaml` valide
overlay: "" # options: openshift
# Exécuteur du runtime de conteneur Argo
executor: docker # options: docker, kubelet, k8sapi, pns
# Que valider les modèles kubernetes lors de la soumission via kubectl
validate: true
# metricsConfig contrôle le chemin et le port pour les métriques prometheus
metricsEnabled: true
metricsPath: /metrics
metricsPort: 8080
# telemetryConfig contrôle le chemin et le port pour la télémétrie prometheus
telemetryEnabled: true
telemetryPath: /telemetry
telemetryPort: 8080
# Artéfacts
# ---------
# Type de dépôt d'artéfacts à configurer (si non vide)
artifactRepository: ""
# archiveLogs va archiver les journaux du conteneur principal en tant qu'artéfact
archiveLogs: {{ archiveLogs }}
# configuration de dépôt d'artéfacts s3
AWS_S3_BUCKET_PREFIX: "" # préfixe du bucket s3
AWS_S3_ARTIFACT_PATH: "" # chemin vers le répertoire d'artéfacts dans le préfixe
extra:
# Référence Argo à utiliser
- ref
# Permet d'écraser les images de l'exécuteur et du contrôleur de flux de travail
- executor_image
- workflow_controller_image
# Si le dépôt d'artéfacts s3 est sélectionné, un hôte (point de terminaison) et des identifiants sont nécessaires
- AWS_S3_HOST
- AWS_S3_BUCKET_NAME
- AWS_S3_ACCESS_KEY_ID
- AWS_S3_SECRET_ACCESS_KEY
Exemple de Playbook
---
- name: "Un Playbook basique pour provisionner Argo dans un seul espace de noms."
hosts: localhost
connection: local
roles:
- role: thoth-station.argo_workflows
tags:
- argo
- argo-workflows
namespace: argo
ref: v2.4.0
Le rôle offre la possibilité d'ajouter des superpositions personnalisées via Kustomize, actuellement il existe une superposition pour l'environnement OpenShift. Utilisez-le comme suit :
---
- name: "Un Playbook basique pour provisionner Argo dans un seul espace de noms."
hosts: localhost
connection: local
roles:
- role: thoth-station.argo_workflows
tags:
- argo
- argo-workflows
namespace: argo
overlay: openshift # patch l'installation de base pour fonctionner dans un espace de noms OpenShift
Testé sur minishift, OpenShift 3.11.
Licence
MIT
Informations sur l'Auteur
Marek Cermak macermak@redhat.com
Installer
ansible-galaxy install thoth-station.argo_workflows
Licence
mit
Téléchargements
129
Propriétaire
Using Artificial Intelligence to analyse and recommend Software Stacks for the Python Ecosystem.