セルフホストランナーのスケーリング
はじめに
CircleCI セルフホストランナーの固定のコンピューティングフリートを保持するには、ジョブがキューに入る率に応じてワークロードが変動するため、不要なコストが発生する可能性があります。 このコストを削減するために、必要に応じてコンピューティングフリートをスケーリングできます。
CircleCI ブログ より、AWS AutoScaling グループを使ってマシンランナーをスケーリングするためのサンプルを使ったチュートリアルをご覧いただけます。
コンテナランナー
Kubernetes でコンテナランナーを使用している場合、キューに入る作業量が増えると、Pod が自動的にスピンアップします。 これらの Pod は一時的な Pod であり、ジョブの実行が完了すると破棄されます。 Pod は作業に合わせて自動的にスケーリングされますが、Kubernetes クラスタの基盤となるコンピューティングはスケーリングされません。
データのスケーリング
マシンランナーやコンテナランナー用の Kubernetes クラスタをスケールするためのソリューションをセットアップする際に役立つ API エンドポイントが複数あります。
スケーリングソリューションにより、上記のエンドポイントを使って実行可能な待機タスクの合計数を計算することができます。 タスクデータエンドポイントのスコープは 1 つのリソースクラスにスコープされるため、使用可能なすべてのリソースクラスを照会し、実行中のタスクの合計数を取得することが重要です。
マシンランナーをご使用の場合は、スケーリングソリューションを使って、保留中の作業が多いリソースクラスにマシンランナーを追加できます。
マシンランナーのエージェントの設定
スケーリングソリューションで使用できるマシンランナーの設定がいくつかあります。特に、需要が減少した場合にリソースのクリーンアップをサポートできます。
-
-
single-task
モードを選択すると、マシンランナーは 1 つのタスクが終わるとシャットダウンします。 このモードは、マシンランナーの終了時にリソースが自動的にリサイクルされるので、完全に一時的なコンピューティングを使用する場合に便利です。 -
continuous
モードを選択すると、マシンランナーはタスクの終了後に新しいタスクをポーリングします。 スケーリングソリューションにより、タスクのワークロードを監視し、使用していない マシンランナーを積極的にシャットダウンする必要があります。
-
-
-
需要が低い期間のリソースの自動リサイクルに、妥当なタイムアウトを設定することができます。
-
ドキュメントの改善にご協力ください
このガイドは、CircleCI の他のドキュメントと同様にオープンソースであり、 GitHub でご利用いただけます。 ご協力いただき、ありがとうございます。
- このページの編集をご提案ください (最初に「コントリビューションガイド」をご覧ください)。
- ドキュメントの問題点を報告する、またはフィードバックやコメントを送信するには、GitHub で issue を作成してください。
- CircleCI は、ユーザーの皆様の弊社プラットフォームにおけるエクスペリエンスを向上させる方法を常に模索しています。 フィードバックをお寄せいただける場合は、リサーチコミュニティにご参加ください。
サポートが必要ですか
CircleCI のサポートエンジニアによる、サービスに関する問題、請求およびアカウントについての質問への対応、設定の構築に関する問題解決のサポートを行っています。 サポートチケットを送信して、CircleCI のサポートエンジニアにお問い合わせください。日本語でお問い合わせいただけます。
または、 サポートサイト から、サポート記事やコミュニティフォーラム、トレーニングリソースをご覧いただけます。
CircleCI Documentation by CircleCI is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.