ack-kube-queue は、クラウドネイティブ AI スイートのジョブキューコンポーネントです。Kube Queue ジョブキューを中心に構築され、スケジューラーとクォータシステムを組み合わせることで、キュー管理、優先度スケジューリング、弾性クォータを提供し、Kubernetes における AI/ML およびバッチワークロードの管理効率とスケジューリングパフォーマンスを向上させます。
概要
Kubernetes クラスターでは、AI/ML ワークロードやバッチワークロードなど、ジョブタイプのワークロードと Pod が多数実行されることがよくあります。この量はスケジューラーに大きな負荷をかけ、スケジューリングのパフォーマンスを低下させ、異なるユーザーが送信したジョブが互いに干渉する原因となることがあります。Kube Queue ジョブキューを中心に構築され、スケジューラーおよびクォータシステムと統合された ack-kube-queue は、以下の機能でこれらのワークロードを管理します:
キュー管理: システム管理者はカスタムキューを使用してジョブキューを管理でき、より柔軟なキューイングが可能になります。手順については、「ack-kube-queue を使用したジョブキューの管理」をご参照ください。
優先度スケジューリング: 厳密な優先度スケジューリングモードでジョブを優先度順にデキューし、異なるクォータ下のジョブに対してマルチキューのフェアスケジューリングを提供します。
ブロッキングキュー: ブロッキングキューモードをサポートしており、環境変数によるグローバル設定とキューごとのスイッチが利用できます。
弾性クォータ: クォータシステムと組み合わせることで、ワークロードと ResourceQuota の管理を自動的に最適化し、クラスターリソースを最大限に活用します。
再キューイング: Pod が長期間スケジューリング不可の状態にあるジョブを回収し、キューに戻して再スケジューリングします。これにより、ジョブが実行されずにクォータを占有することを防ぎ、クォータ使用率を向上させます。
注意事項
ack-kube-queue コンポーネントは、ACK Pro クラスター、ACK Serverless Pro クラスター、または ACK Edge Pro クラスターにのみインストールでき、クラスターの Kubernetes バージョンは 1.18 以降である必要があります。
ack-kube-queue は、クラウドネイティブ AI スイートをデプロイする際にインストールするか、スイートが既にデプロイされているクラスターに後から追加できます。インストール後、ブロッキングキューや厳密な優先度スケジューリングなど、ack-kube-queue が提供する機能を使用できます。ack-kube-queue のインストールと使用方法の詳細については、「ack-kube-queue を使用した AI および ML ワークロードの管理」をご参照ください。
リリースノート
2024年1月
バージョン | 変更点 | 変更日 | 影響 |
v0.3.4 | ブロッキングキューモードでキューの先頭ジョブが削除された際に稀に発生する、ヘッドオブラインブロッキングの問題を修正しました。 | 2024年1月4日 | なし |
2023年12月
バージョン | 変更点 | 変更日 | 影響 |
v0.3.3 | 環境変数を使用してブロッキングキューをグローバルに設定すると、すべてのキューのブロッキングキューモードが更新されるようになりました。 | 2023年12月26日 | なし |
2023年9月
バージョン | 変更点 | 変更日 | 影響 |
v0.3.1 | QueueUnit の削除時に稀に発生するキューのエラーを修正しました。 | 2023年9月13日 | なし |
v0.3.0 | キューからジョブのシーケンス情報を取得できるようになりました。 | 2023年9月13日 | なし |
2023年8月
バージョン | 変更点 | 変更日 | 影響 |
v0.2.1 | テンプレート内の | 2023年8月31日 | なし |
v0.2.0 |
| 2023年8月29日 | なし |
2023年7月
バージョン | 変更点 | 変更日 | 影響 |
v0.1.13 | 更新時に | 2023年7月26日 | なし |
v0.1.12 | ブロッキングキュー機能を有効化または無効化するためのキューごとのスイッチが追加されました。拡張機能のタイムアウトパラメーターを | 2023年7月20日 | なし |
2023年6月
バージョン | 変更点 | 変更日 | 影響 |
v0.1.11 | ジョブが更新されると QueueUnit のステータスが同期されるようになりました。 | 2023年6月30日 | なし |
v0.1.10 | kube-queue-controller、tf-operator-extension、pytorch-operator-extension などのコンポーネントが、ARM ベースのノードに対応しました。 | 2023年6月14日 | なし |
2023年5月
バージョン | 変更点 | 変更日 | 影響 |
v0.1.9 | 長時間保留中のジョブの再キューイングと、マルチキューのフェアスケジューリングを追加しました。 | 2023年5月16日 | なし |
2023年4月
バージョン | 変更点 | 変更日 | 影響 |
v0.1.8 | ブロッキングキューモードと厳密な優先度デキューに対応しました。詳細については、「ブロッキングキューの有効化」および「厳密な優先度スケジューリングの有効化」をご参照ください。 | 2023年4月25日 | なし |
2023年3月
バージョン | 変更点 | 変更日 | 影響 |
v0.1.6 | TFJob の State が表示されない問題を修正しました。 | 2023年3月15日 | なし |
2023年2月
バージョン | 変更点 | 変更日 | 影響 |
v0.1.5 | ack-kube-queue でジョブの削除が稀に失敗する問題を修正しました。 | 2023年2月28日 | なし |
v0.1.4 | QueueUnit のデキュー後に、その Used 情報が稀に失われる問題を修正しました。 | 2023年2月14日 | なし |
2023年1月
バージョン | 変更点 | 変更日 | 影響 |
v0.1.3 | ack-kube-queue で稀に QueueUnit が失われる問題を修正しました。 | 2023年1月12日 | なし |
v0.1.2 | ack-kube-queue で長時間ジョブをデキューできないことがある問題を修正しました。 | 2023年1月12日 | なし |
v0.1.1 | マルチキューバージョンに対応しました。異なるクォータ下のジョブは、混雑を避けるために別々のキューに送信されます。 | 2023年1月10日 | なし |
2022年10月
バージョン | 変更点 | 変更日 | 影響 |
v0.1.0 | コンポーネントを追加しました。これは初期リリースです。 | 2022年10月15日 | 初期リリース。 |