thoth-station.argo_workflows

Ansible-Rolle: Argo Workflows

Node CI   Release

Dies ist eine Ansible-Rolle, um Argo Workflows in einem einzelnen Namespace einzurichten.

Über

Siehe den Blogbeitrag auf Medium für eine detaillierte Anleitung.

Anforderungen

  1. OpenShift-Cluster mit Cluster-Administrator-Rechten.

Warum sind Cluster-Administrator-Rechte erforderlich?

Argo erstellt eine CRD, was (sofern nicht anders konfiguriert) Cluster-Administrator-Rechte benötigt.

  1. Installierte Abhängigkeiten für das k8s Ansible-Modul
pip install kubernetes openshift
  1. Installiertes kubectl (siehe https://kubernetes.io/docs/tasks/tools/install-kubectl/)

Installieren der Rolle aus Ansible Galaxy

ansible-galaxy install thoth-station.argo_workflows

Rollen-Variablen

defaults:
  # Namespace, in den Argo bereitgestellt werden soll
  namespace: argo

  # Dies geht von bestimmten Berechtigungen aus und passt die Ressourcen entsprechend an
  # Zum Beispiel wird davon ausgegangen, dass ein Entwickler keine CRD erstellen kann.
  # Diese Ressourcen sollten daher bereits im Cluster existieren.
  role: cluster-admin  # Optionen: developer, cluster-admin

  # Benutzerdefinierte Überlagerung, die über Kustomize auf die Basisinstallation von Argo angewendet werden soll.
  # Überlagerungen müssen im [/templates/overlays/](/templates/overlays/) Ordner vorhanden sein und eine gültige `kustomization.yaml` enthalten.
  overlay: ""       # Optionen: openshift

  # Argo Container-Laufzeit-Executor
  executor: docker   # Optionen: docker, kubelet, k8sapi, pns

  # Ob Kubernetes-Templates bei der Einreichung über kubectl validiert werden sollen
  validate: true

  # Konfiguration für Metriken
  metricsEnabled: true
  metricsPath: /metrics
  metricsPort: 8080

  # Konfiguration für Telemetrie
  telemetryEnabled: true
  telemetryPath: /telemetry
  telemetryPort: 8080

  # Artefakte
  artifactRepository: ""

  # Protokolle archivieren
  archiveLogs: {{ archiveLogs }}

  # s3 Artefakt-Repository-Konfiguration
  AWS_S3_BUCKET_PREFIX: ""  # S3-Bucket-Präfix
  AWS_S3_ARTIFACT_PATH: ""  # Pfad zum Artefaktverzeichnis im Präfix

Beispiel-Playbook

---
- name: "Ein einfaches Play, um Argo in einem einzigen Namespace bereitzustellen."

  hosts: localhost
  connection: local

  roles:
  - role: thoth-station.argo_workflows
    tags:
      - argo
      - argo-workflows
    namespace: argo
    ref: v2.4.0

Die Rolle bietet eine Option, benutzerdefinierte Überlagerungen über Kustomize hinzuzufügen, aktuell gibt es eine Überlagerung für OpenShift-Umgebungen. Verwenden Sie dies so:

---
- name: "Ein einfaches Play, um Argo in einem einzelnen Namespace bereitzustellen."

  hosts: localhost
  connection: local

  roles:
  - role: thoth-station.argo_workflows
    tags:
      - argo
      - argo-workflows
    namespace: argo
    overlay: openshift  # Patch der Basisinstallation für OpenShift

Getestet auf Minishift, OpenShift 3.11.


Lizenz

MIT

Autoreninformation

Marek Cermak macermak@redhat.com

Installieren
ansible-galaxy install thoth-station.argo_workflows
GitHub Repository
Lizenz
mit
Downloads
129
Besitzer
Using Artificial Intelligence to analyse and recommend Software Stacks for the Python Ecosystem.