thoth-station.argo_workflows

Ansibleロール: Argo Workflows

Node CI   Release

これは、単一の名前空間にArgo Workflowsを設定するためのAnsibleロールです。

概要

詳細については、Mediumのブログ記事をチェックしてください。

要件

  1. クラスター管理者権限のあるOpenShiftクラスター。

なぜクラスター管理者アクセスが必要なのですか?

ArgoはCRDを作成します。この操作には、(特に設定されていない限り)クラスター管理者の権限が必要です。

  1. k8s Ansibleモジュールの依存関係がインストールされていること
pip install kubernetes openshift
  1. 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

  # 基本のargoインストールに対してkustomizeを介して適用されるカスタムオーバーレイ
  # オーバーレイは、[/templates/overlays/](/templates/overlays/)フォルダー内に存在し、 
  # 有効な `kustomization.yaml`を含む必要があります
  overlay: ""       # オプション: openshift

  # Argoコンテナランタイムエグゼキュータ
  executor: docker   # オプション: docker, kubelet, k8sapi, pns

  # kubectl経由で提出する際にKubernetesテンプレートを検証するかどうか
  validate: true

  # metricsConfigはPrometheusメトリクスのパスとポートを制御します
  metricsEnabled: true
  metricsPath: /metrics
  metricsPort: 8080

  # telemetryConfigはPrometheusテレメトリのパスとポートを制御します
  telemetryEnabled: true
  telemetryPath: /telemetry
  telemetryPort: 8080

  # アーティファクト
  artifactRepository: ""

  # archiveLogsは主要コンテナのログをアーティファクトとしてアーカイブします
  archiveLogs: {{ archiveLogs }}

  # s3アーティファクトリポジトリの設定
  AWS_S3_BUCKET_PREFIX: ""  
  AWS_S3_ARTIFACT_PATH: ""  
extra:
  # 使用するArgoの参照
  - ref

  # エグゼキュータおよびワークフローコントローラのイメージを書き換えることができます
  - executor_image
  - workflow_controller_image

  # s3アーティファクトリポジトリが選択された場合、ホスト(エンドポイント)と資格情報が必要です
  - AWS_S3_HOST
  - AWS_S3_BUCKET_NAME
  - AWS_S3_ACCESS_KEY_ID
  - AWS_S3_SECRET_ACCESS_KEY

例のプレイブック

---
- name: "単一名前空間にArgoをプロビジョニングする基本的なPlayです。"

  hosts: localhost
  connection: local

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

このロールでは、Kustomizeを介してカスタムオーバーレイを追加するオプションがあります。現在、OpenShift環境用の既存のオーバーレイがあります。以下のように使用してください:

---
- name: "単一名前空間にArgoをプロビジョニングする基本的なPlayです。"

  hosts: localhost
  connection: local

  roles:
  - role: thoth-station.argo_workflows
    tags:
      - argo
      - argo-workflows
    namespace: argo
    overlay: openshift

Minishift、OpenShift 3.11でテスト済みです。


ライセンス

MIT

著者情報

Marek Cermak macermak@redhat.com

インストール
ansible-galaxy install thoth-station.argo_workflows
ライセンス
mit
ダウンロード
129
所有者
Using Artificial Intelligence to analyse and recommend Software Stacks for the Python Ecosystem.