すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:バッチタスクのオーケストレーションの概要

最終更新日:Dec 24, 2024

従来のバッチタスクオーケストレーションおよびワークフローオーケストレーションシステムは、増加するオーケストレーションシナリオの複雑さを管理するのに苦労し、自動化拡張をサポートしません。 これらの制限は、バッチデータ処理、機械学習パイプライン、インフラストラクチャの自動化、継続的統合および継続的配信 (CI/CD) などのシナリオで明らかです。 Alibaba Cloudは、クラウドネイティブのワークフローエンジンであるArgoワークフローと互換性のあるコンポーネントを提供し、バッチタスクのオーケストレーションを簡素化します。 このトピックでは、主にContainer Service for Kubernetes (ACK) クラスターでのArgoワークフローコンポーネントの使用方法について説明します。

オープンソースのArgoワークフロー

Argo Workflowsは、Kubernetesで複雑なワークフローを定義、管理、およびスケジュールするために設計された強力なクラウドネイティブのワークフローエンジンです。 ワークフローには、依存関係を持つ複数のタスクを含めることができます。 この柔軟性により、タスク構成が簡素化されます。

シナリオ

image

Argoワークフローはさまざまなシナリオをサポートし、、自動運転、科学コンピューティング、金融定量分析、デジタルメディアなどの業界で広く使用されています。

  • バッチデータ処理: 大規模な高精度マップ処理、財務定量的バックテストシミュレーション、並列オーディオおよびビデオ処理、アニメーションレンダリング。

  • 科学コンピューティング: 複雑な科学計算シミュレーション、製薬研究とトレーニング、遺伝子シーケンシング、突然変異アライメント検出、エネルギー探査。

  • シミュレーションとモデリング: 自律走行アルゴリズムシミュレーション、分子動力学シミュレーション、天文データシミュレーション、財務モデリング。

  • 機械学習パイプライン: 機械学習データの前処理、分散トレーニング、大規模なモデルパラメーターの調整、モデルの評価と展開。

  • インフラストラクチャの自動化: クラウドリソースの自動管理、リソースのバックアップと復元、ノードプールの移行、クラスターの移行とアップグレード。

  • CI/CD: 並列CIパイプライン、マルチステージビルドとテスト、クラウド間のアプリケーション展開、承認ワークフローの統合。

利点

  • クラウドネイティブ: Kubernetes用に特別に設計された各タスクは、軽量で柔軟な性質のコンテナを完全に使用するポッドです。

  • 軽量化とスケーラビリティ: 従来のVMと比較して、Argoワークフローは軽量であり、追加のオーバーヘッドや制限はありません。 Kubernetesが提供する堅牢なスケジューリング機能により、数千のタスクを並行して起動できるため、処理効率が向上します。

  • 柔軟なオーケストレーション機能: 有向非巡回グラフ (DAG) とステップの柔軟な組み合わせにより、さまざまな複雑さを伴うワークフローのカスタマイズがサポートされます。 強力な再試行およびキャッシュメカニズムにより、ワークフロー実行の成功率が向上します。

  • 豊富なエコシステム: Spark、Ray、TensorFlowジョブなど、さまざまな種類のタスクのオーケストレーションがサポートされています。 イベントドリブン機能と組み合わせることで、完全に自動化されたタスク処理プラットフォームを構築できます。

ACK Argoワークフロー

利点

ACK Argoワークフローは、オープンソースのArgoワークフローと互換性があり、拡張機能が含まれています。 既存のオープンソースのArgoワークフローからACK Argoワークフローに変更せずにシームレスに移行できます。 オープンソースバージョンと比較して、ACK Argoワークフローには次の利点があります。

  • 高い弾力性、自動スケーリング、および最適化されたコンピューティングコスト。

  • 高い信頼性、マルチゾーン負荷分散、および高いスケジューリング信頼性。

  • スケーラビリティ、パフォーマンス、効率、安定性、および可観測性が大幅に向上した拡張制御プレーン。

  • 大容量ファイルのアップロード、アーティファクトのガベージコレクション (GC) 、およびデータストリーミングをサポートする、拡張されたObject Storage Service (OSS) ストレージ管理。

  • コンテナサービスの技術専門家によるサポートにより、チームはワークフローの最適化、パフォーマンスの向上、コスト削減を支援します。

ACK Argoワークフローには、さまざまなユーザーニーズを満たす2つの使用オプションがあります。

  • サーバーレスArgoワークフロー: 運用上のオーバーヘッドなしでビジネスプロセスのオーケストレーションに集中し、大規模で高性能なワークロードを必要とする場合は、個別のワークフロークラスターを構築できます。 詳細については、「Serverless Argo Workflows」をご参照ください。

  • ACKのArgoワークフローコンポーネント: すでにACKクラスターがあり、既存のクラスターリソースを使用する場合は、Argoワークフローコンポーネントを使用してワークフローを調整できます。

手順

Argoワークフローコンポーネントをインストールした後、Alibaba Cloud Argo CLIまたはArgoコンソールを使用してワークフローを送信および管理することにより、バッチタスクオーケストレーションを使用できます。

次の図は、さまざまなロールのプロセスを示しています。

プロセス

説明

準備

  1. ACKサービスを有効にします。 詳細については、「初回ユーザーのクイックスタート」をご参照ください。

  2. ACKクラスターを作成します。 詳細については、「ACK管理クラスターの作成」をご参照ください。

環境セットアップ

  1. クラスターでバッチタスクのオーケストレーションを有効にするには、Argo Workflowsコンポーネントをインストールする必要があります。

  2. ACKには、ワークフロータスクを作成および管理する2つの方法があります。

    • Argo CLI: Alibaba Cloud Argo CLIをインストールします。

    • Argoコンソール: Argo Serverとコンソールにアクセスするために必要なトークンを取得します。

詳細については、「Enable batch task orchestration」をご参照ください。

ワークフロー管理

(データエンジニア) 並列タスクを調整した後、Argo CLIまたはArgoコンソールを使用してタスクを送信および管理します。

  • 基本的な使用方法: 新規ユーザーの場合、ACKクラスターでワークフローを作成する方法については、「Create a workflow」をご参照ください。

  • 高度な使用法: 動的DAGのファンインとファンアウトのタスク、ゲノムコンピューティングワークフロー、バッチデータ処理などの特定のシナリオについては、「ベストプラクティス」をご参照ください。

(クラスター管理者)

  • クラスターリソースのクォータと権限の分離を管理します。 たとえば、異なるワークフローを異なる名前空間で実行するように指定できます。 詳細については、「特定の名前空間へのワークフローの送信」をご参照ください。

  • ワークフローログの永続性など、ワークフローの実行ステータスを監視します。 詳細については、「Workflow persistence」をご参照ください。

課金

バッチタスクのオーケストレーション機能には料金は発生しません。 ただし、通常のACK課金に加えて、バッチタスクオーケストレーションを使用する場合、Argo Serverは従量課金のClassic Load Balancer (CLB) インスタンスを自動的に作成します。 関連するコストはCLBによって請求されます。 詳細は、「CLB課金」をご参照ください。

お問い合わせ

この製品に関する提案や質問がある場合は、DingTalkグループ35688562に参加してお問い合わせください。