ワークフロークラスターはイベント駆動型機能をサポートしており、イベントを監視してワークフローをトリガーすることで、イベント駆動型の自動化システムを構築できます。この機能は、OSS、Message Service (MNS)、Git リポジトリ、EventBridge など、さまざまなイベントソースをサポートしています。
背景情報
イベント駆動型機能は、オープンソースの Argo Events プロジェクトに基づいて構築されており、オープンソースのイベント駆動型標準に完全に準拠しています。オープンソースのイベント駆動型アプリケーションをワークフロークラスターに簡単に移行できます。
主要コンポーネント:
-
イベントソース
イベントソースは Argo Events のカスタムリソースです。イベントソースごとに異なるイベントソースリソースを作成します。この操作により、イベントソース Pod が作成され、イベントがフェッチされます。
現在、ワークフロークラスターはイベントソースとして Git、OSS、MNS をサポートしています。他のイベントソースが必要な場合は、してください。
-
イベントバス
イベントソースがイベントをフェッチすると、イベントはイベントバスにキャッシュされます。イベントバスは、次の 2 種類をサポートしています。
-
NATS:オープンソースの NATS プロジェクトに基づいて構築されたローカルメッセージングシステムで、ECI インスタンス上で実行されます。
-
MNS:クラウドベースのMNS を使用してイベントをキャッシュします。すでにMNS を使用している場合は、MNS キューをイベントバスとして使用できます。
-
-
イベントセンサー
イベントセンサーはイベントバスからイベントを読み取り、定義されたルールに従ってフィルタリングし、ワークフローの実行をトリガーします。センサーのトリガー、変換、フィルターを設定するには、オープンソースの Argo Events ドキュメントをご参照ください。
イベントセンサーは Argo ワークフローのみをトリガーできます。他の要件がある場合は、してください。
課金
次のリソースを作成すると、ECI インスタンスの料金が発生します。詳細な課金情報については、「ECI の課金の概要」をご参照ください。
-
イベントソースを作成すると、イベントソース Pod が作成され、ECI インスタンスとして実行されます。
-
NATS を使用するイベントバスを作成すると、イベントバス Pod が作成され、ECI インスタンスとして実行されます。
-
イベントセンサーを作成すると、イベントセンサー Pod が作成され、ECI インスタンスとして実行されます。
前提条件
-
バージョン 3.0.188 以降の Alibaba Cloud CLI がインストールされ、認証情報が設定されていること。
詳細については、「Alibaba Cloud CLI のインストール」および「認証情報の設定」をご参照ください。
操作手順
-
ワークフロークラスター ID を取得します。
-
CLI を使用してクラスター ID を取得します。
aliyun adcp DescribeHubClusters --Profile=XFlow-
コンソールからクラスター ID を取得します。
ワークフロークラスターコンソールにログインします。ワークフロークラスター ページで、Basic Information タブでクラスター ID を見つけます。
-
-
次のコマンドを実行して、イベント駆動型機能を有効にします。
aliyun adcp UpdateHubClusterFeature --ArgoEventsEnabled true --ClusterId ***重要*** をステップ 1 のクラスター ID に置き換えてください。
-
しばらくしてから、次のコマンドを実行してクラスター詳細を表示します。
aliyun adcp DescribeHubClusterDetails --ClusterId *** -
コマンドの出力で、
TypeがEnabledArgoEventsの Condition のStatusがTrueであることを確認します。これは、イベント駆動型機能が有効になっていることを示します。期待される出力は次のとおりです。
{ "Message": "", "Reason": "", "Status": "True", "Type": "EnabledArgoEvents" }
次のステップ
イベント駆動型機能を有効にした後、OSS イベントまたはMNS メッセージを使用してワークフローをトリガーできます。詳細については、次のトピックをご参照ください。