BT

AtlassianがKubernetesノードに対するオートスケーリングツールであるEscalatorをリリース

| 作者: Hrishikesh Barua フォローする 14 人のフォロワー , 翻訳者 編集部T _ フォローする 0 人のフォロワー 投稿日 2018年6月4日. 推定読書時間: 3 分 |

原文(投稿日:2018/05/26)へのリンク

読者の皆様へ:ノイズを減らすための一連の機能を開発しました。関心のあるトピックについて電子メールとWeb通知を受け取ることができます新機能の詳細をご覧ください。

Atlassianは社内ツールのEscalatorをオープンソースプロジェクトとしてリリースした。これによって、コンフィギュレーションに基づいてKubernetesノードに対して先取りしたスケールアップと高速のスケールダウンを提供する。

Atlassianはコンテナを採用し、2013から2014年にかけて独自のDockerベースのPaaSを構築した。それは、自社のプラットフォームとサービスを実行するために使われた。基本的なスケジューリングとポッドの実行とは別に、オーケストレーションに対するニーズは、クラウドハードウェアの障害に対する耐性があり、負荷に応じて素早くスケールアップおよびスケールダウンすることであった。Kubernetesは必要条件を満たしたため、チームはそれをオーケストレータとして採用した。構築エンジニアリングインフラストラクチャは、最初に移行する対象の1つであり、数百のVMをプロビジョニングする作業負荷で構成されていた。

Kubernetesには2つのオートスケーラがある。一つは水平ポッドオートスケーラであり、もう一つはクラスタオートスケーラである。前者は、コンテナや関連するコンテナの集合を抽象化したものであるポッドをスケールアップしたり、スケールダウンしたりするため、基盤となる計算リソース(通常はVM)の可用性に依存する。クラスタオートスケーラは、計算インフラストラクチャ自体をスケールさせる。当然のことながら、仮想マシンのプロビジョニング時間が長くなるため、スケールアップとスケールダウンには時間がかかる。クラスタオートスケーラの遅延は、ポッドオートスケーラの遅延になる。同様に、ポッドは迅速にスケールダウンできるが、計算用VMのスケールダウンには時間がかかる。特にAtlassianのインフラストラクチャの規模の場合、アイドル状態の計算用VMは膨大なコストにつながる。Atlassianの問題はバッチ作業負荷に特有であり、スケールアップとスケールダウンの遅延に対する許容度は低い。AtlassianはKubernetes上にこれらの問題を解決するために独自のオートスケーリング機能を開発することに決めた。

Goで書かれたEscalatorは、計算用VMの容量の上限と下限の設定可能なしきい値を持っている。いくつかの設定プロパティは、「taint」と呼ばれるKubernetes機能を変更することで機能する。VMノードは、関連するマーカを持つポッドがスケジュールされないように、特定の値で「taint」(マーク)することができる。未使用のノードがマークされると、Kubernetesの標準クラスタオートスケーラによって高速に停止させられる。スケールアップ構成パラメータは、通常は100未満となる使用率で表されるしきい値であり、そのため、バッファがある。Escalatorは、使用率がしきい値に達したときに計算用VMを自動スケールし、後で起動する可能性のあるコンテナのためのスペースを確保し、高速に起動できるようにしておく。


画像提供: https://developers.atlassian.com/blog/2018/05/introducing-escalator/

AWSのようなパブリッククラウドプロバイダは、FargateのようなソリューションでVM管理の問題を解決しようとしているが、Escalatorにある設定オプションがない。計算資源のスケールアップ/ダウンは、コンテナに関して共通の問題である。計算用VMの起動に数分かかると、コンテナを起動する速度の利点が失われる。VMを稼動させ続けることで、アイドル状態となる可能性のあるVMを実行し続けるコストを払って、この問題を解決する。Escalatorは、2つのKubernetesオートスケーラのコンテキストで、バッチ処理負荷という非常に特殊な問題を解決していることは注目すべき点である。

EscalatorはKubernetes 1.8+、Golang 1.8+に対して動作することが保証されている。現在、クラウドプロバイダとしてAWSのみをサポートしている。Atlassianは、以前にSmithなどの他のKubernetes関連のプロジェクトをオープンソース化している。

Rate this Article

Adoption Stage
Style

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

特集コンテンツ一覧

.NETの派生を理解する

Wayne Citrin 2018年7月18日 午前3時44分

ASP.NET Core - シンプルの力

Chris Klug 2018年6月4日 午前3時26分

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT