安定性と経済性の両方を確保するには、コンテナ リソースをどのように割り当てるべきでしょうか?

安定性と経済性の両方を確保するには、コンテナ リソースをどのように割り当てるべきでしょうか?

ご存知のとおり、休暇旅行への熱意は非常に高まっており、需要の増加により安定性の確保にも大きなプレッシャーがかかっています。各サービスのトラフィックが急増すると、リソース負荷圧力が大幅に増加します。ミクロレベルでは、単一の物理マシンの CPU 使用率が大幅に増加し、単一のマシン上のコンテナ間の競合が増加し、パフォーマンスに影響が出ます。マクロ的な視点で見ると、エラスティック クラウド全体のホットスポット マシンの数が増加し、スケジューリングに使用できるリソースが減少し、コンテナーのスケジューリングと拡張の失敗率が高くなります。

今年は、コスト削減と効率向上を前提に、コンピューティング サーバーの追加調達を行わずに、高負荷のシナリオ下でリソース供給を確保し、コンテナの安定性を確保する方法が、エラスティック クラウドにとって大きな課題となっています。より安定したコンテナサービスを提供するために、Elastic Cloud はコンテナ サービスのリソース保証のあらゆる側面を包括的に整理し、新しい階層型保証システムを提案し、明確なコンテナ リソース保証レベルを提供しました。これに基づいて、異なる優先度のコンテナに対して対応するリソースと安定性の保証を提供します。

初期の弾力性のあるクラウドコンテナシステムによる過剰販売のリスク

Elastic Cloud の初期の分類システムでは、1/2/3 のコンテナ グレードが提供されていましたが、これは単にコンテナの優先順位を区別するもので、コンテナの優先順位と基礎となるリソース保証をリンクするものではありませんでした。コンテナ サービスを使用すると、次の問題が発生する可能性があります。

  • 資源をめぐる激しい競争
  • サービスの遅延が大きく、不具合も多い
  • 拡大失敗の確率が高い
  • 不正確な事業能力評価
  • 物理マシンの数を見積もることは難しい

これらの問題が存在する理由は、実際にはリソース レベルで対応する保証がないためです。単一マシンのリソースの観点から見ると、一部の物理マシンのピーク CPU 使用率が高すぎるため、コンテナの CPU リソースがさまざまな程度で過剰に供給されています。

クラスター リソースの観点から見ると、旧システムではクォータと物理マシン リソースの間に相関関係がないため、ビジネスで適用されたクォータはデジタル レベルに留まり、物理マシン リソースの準備にはつながりません。さらに、割当量に対する管理が不十分なため、割当量の申請と実際の需要の間に重大な乖離が生じています。

上記の問題の重要な原因の 1 つは、弾力性のあるクラウド リソースが一般的に過剰販売されており、状況が非常に深刻であることです。

いわゆるリソースの過剰販売とは、リソースの適用量が供給量よりも大きいことを意味し、これは単一のマシンとクラスターの両方で過剰販売として現れます。

  • 単一マシン レベルでは、物理マシン上で実行されているすべてのコンテナーの仕様の合計は、物理マシンが提供できるリソースの合計量よりも大きくなります。
  • クラスター レベルでは、サービス リソースの合計割り当て量は、クラスター内の物理マシン リソースの合計量よりも大きくなります。

上の図からわかるように、レベル 1 サービスだけで要求されるリソースの量は、物理マシンの合計リソースを超えています。クラスターと単一のマシンの両方が過剰販売された場合、初期のグレーディング システムでは明確な過剰販売ルールが確立されていなかったため、古いシステムのコンテナ運用環境全体が混乱と不確実性の状態のままでした。

2つの過剰販売ソリューションがもたらす4つの主なメリット

アイデア1: コアサービスリンクを過剰に販売しない

コア サービス リンク上のすべてのサービスは、物理マシン リソースに 1:1 で対応しており、過剰販売されることはありません。コンピュータルーム1と2の簡単な統計から、コアサービスリンクのオンライン配車、二輪車、指定ドライバーサービスの申請総数が全サービスの総申請数の約半分を占め、コンピュータルーム1のコアサービスの申請数がCPU総数を超え、コンピュータルーム2のコアサービスの申請数がCPU総数とほぼ近いことがわかりました。したがって、リソースの制約によりコア サービスの過剰販売を防ぐことは現実的ではありません。

アイデア2: コアサービスチェーンの中で最も重要なサービスを過剰販売しない

リソースの制限により、コア サービス チェーン内のすべてのサービスが過剰販売されないようにすることは不可能です。したがって、一歩引いて考えると、限られた物理リソースを前提として、コア サービス チェーン内の最も重要なサービスが過剰販売されないようにし、これに基づいて残りのサービスに対して合理的な過剰販売ルールを策定することができます。

したがって、Elastic Cloud では、階層型保証システムを再定義し、新しい階層型システムに対して明確な過剰販売ルールを確立する必要があります。売られすぎのルールは次のとおりです。

  • コアサービスの20% -> Sレベルサービス: 過剰販売なし
  • 旧レベル 1 -> レベル A サービス: 2 倍の過剰販売
  • 旧2/3レベル -> Bレベルサービス: 4倍の過剰販売

新しい過剰販売ルールでは、コンピュータ ルーム 1 とコンピュータ ルーム 2 の合計物理 CPU 容量が基本的に需要を満たすことができることがわかります (コンピュータ ルーム 2 のリソース適用量は制限をわずかに超えていますが、新しいマシンを追加するか、容量を減らすことで対応できます)。

この再設計により、2022年元旦までにすべてのSレベルサービスの統合が完了し、2022年国慶節までにオンライン配車コアサービス/二輪車コアサービス/指定ドライバーコアサービスの新システムへの統合が完了します。全体として、この変更により4つの大きなメリットがもたらされました。

  • 利点 1: リソース レベルでは、S レベル サービスの外部 CPU 競合が 60% ~ 80% 削減され、A レベル サービスの外部 CPU 競合が 30% ~ 50% 削減されます。
  • 利点 2: サービス遅延に関しては、サービスの 99 パーセンタイル遅延 (平均) が 7% ~ 20% 削減され、サービスの 99 パーセンタイル遅延 (最大) が 5% ~ 15% 削減されます。
  • メリット 3: 容量の面では、ピーク時に S レベルのサービスは以前よりも 30% 多くのトラフィックを処理でき、以前よりも 30% リソースを削減できます。
  • メリット 4: ビジネス上のメリットの観点から見ると、ピーク時の外部 CPU 競合が 65% ~ 75% 減少し、不具合が基本的になくなり、ビジネス遅延指標が 5% ~ 25% 減少し、ビジネス ストレス テスト中の外部 CPU 競合が 60% ~ 70% 減少しました。

エラスティッククラウド向けの新しい階層型セキュリティシステムの全体的なアーキテクチャ

新しい階層型保証システムをサポートするために、Elastic Cloud は下から上まで各層の関連コンポーネントを開発および変換し、システム部門 CMP システムの割り当てに関連する開発作業も含めました。これは主に、オペレーティングシステム層、k8s スケジューリング層、kube-odin 層、サービスツリー、システム部門 CMP システムに反映されています。

上記のアーキテクチャ図から、最下層にはコンピュータ ルームの物理マシン リソースがあり、物理マシンは異なるコンピュータ ルームに配置されていることがわかります。

オペレーティング システム層

物理マシンの上にはオペレーティング システム層があり、カーネル状態とユーザー状態に分かれています。カーネル モードの新機能に関しては、新しい階層システムにより、CPU スケジューリング、メモリ管理、IO の読み取りと書き込みを対象とした開発と最適化が実行されました。

CPU スケジューリング:

  • 優先度の重みという新しい概念が追加されました。異なる優先度のコンテナには異なるスケジューリング ウェイトがあり、これは異なるレベルのコンテナのスケジューリング優先度を区別するために使用されます。
  • 新しい CPU バースト テクノロジーにより、一部の重要なコンテナーが短期間で仕様制限を超え、一時的に余分な CPU を使用できるようになります。

メモリ管理:

  • 最初に優先度の低いコンテナのメモリをリサイクルし、次に優先度の高いコンテナのメモリをリサイクルする新しい優先度リサイクル テクノロジが追加されました。
  • システム メモリが不足しているときに優先度の高いコンテナ メモリの割り当てが妨げられるのを軽減する階層的な水位機能を追加しました。

IO 読み取りと書き込み:

  • 優先度の高いコンテナへの影響を軽減するために、優先度の低いコンテナの IO 読み取りおよび書き込み帯域幅を制限する新しい帯域幅制限機能を追加しました。
  • コンテナの優先度に基づいて IO 帯域幅を割り当てることをサポートする新しい優先度帯域幅割り当て機能を追加しました。

新しいユーザー モード機能に関しては、新しい分類システムに対するオペレーティング システムのユーザー モード サポートは、主に Kubelet、IRMAS、および単一マシン リソース スケジューリングのコンポーネントに反映されています。このうち、kubelet と IRMAS は主に、新しい階層システムにおけるコンテナの識別、情報収集とレポート、単一マシンのリソース構成、環境適応などのタスクを追加しました。新たに追加されたスタンドアロン リソース スケジューリング モジュールは、極端な状況でのスタンドアロン リソースの抑制と回復、および k8s スケジューリングなどの機能との連携を実現します。

k8s スケジューリング レイヤー

k8s コンテナ スケジューリング レイヤーでは、新しい分類システムに最小リソース保証戦略が追加されました。つまり、合理的なスケジューリングにより、コンテナはいつでも約束された量のリソースを取得できます。

コンテナ階層化バランス分散戦略により、物理マシン上に同じレベルのコンテナが多すぎないようにし、異なるレベルのコンテナを異なる物理マシンに均等に分散します。

階層型容量リソース ダッシュボードとは、新しい階層型システム コンテナーのサポートを追加し、新しい階層型コンテナーの容量の健全性をリアルタイムで監視するリソース ダッシュボードを指します。

拡張成功率保証とは、新しい容量推定機能の追加、リソース適用プロセスの最適化、拡張に利用可能な弾力性のあるクラウド リソースの量のリアルタイム監視などにより、拡張成功率を効果的に向上させることを指します。

kube-odin レイヤー

kube-odin レイヤーも、新しい分類システムに合わせて変更およびアップグレードされました。

  • 新しいレベルのアクセス プラットフォームを追加しました。これには、新しいレベルのコンテナー クエリ操作関連インターフェイスの適応が含まれます。
  • 課金管理モジュール: 新しい階層型システム コンテナーの課金サポートが追加され、複数の課金シナリオがサポートされます。
  • サービス クォータ操作: クォータ操作インターフェイスが追加されました。

サービスツリー

サービス ツリーは、互換性を維持しながら、新しい階層システムのクラスター情報のサポートを追加します。

システム部門CMPシステム

クォータの適用と新しいシステムコンテナの使用は、システム部門のCMPシステムによって操作および記録されます。

CMP システムは、ビジネス アプリケーションからクォータ情報を取得することで、必要な物理マシン リソースを明確に計算し、物理マシン リソースをより適切に確保できます。新しいシステム コンテナーのクォータをサポートするために、CMP システムにはクォータ コスト アカウント、クォータ コスト アカウント、およびクォータ アプリケーション モジュールが追加されました。

  • クォータコストアカウント: S レベル/A レベル/B レベルのクォータ情報が含まれます。
  • クォータ制御モジュール: クォータの使用状況を追跡および監視し、効率的なリソース管理を実現します。
  • クォータ申請モジュール: クォータ申請プロセスを標準化し、クォータ申請ルールを明確にします。

新しい分類システムのための3つの重要なリソース保証

新しい分類システムはコアの問題に基づいており、単一マシン レベルとクラスター レベルの両方でコンテナーによって要求されるリソースに対して対応する保証を提供します。

単一マシンリソース保証: CPU

新しい階層型システムにおけるリソース保証の重要なポイントの 1 つは、コンテナの CPU リソースが、過剰販売比率に応じていつでも効果的に配信できるようにすることです。

前回の記事では、新しいシステムコンテナの売られすぎルールは、S レベルは売られすぎではなく、A レベルは 2 倍の売られすぎ、B レベルは 4 倍の売られすぎであると説明しました。さまざまなレベルのコンテナの場合、必要な物理 CPU の数を簡単に知ることができます。新しい分類システムで保証する必要があるのは、物理マシン上のすべてのコンテナの過剰販売率を計算した後で取得される物理 CPU の数が、物理マシン上の CPU の数よりも少なくなる必要があることです。

写真

上記の例では、40 コアの物理マシンの場合、使用可能な CPU の数は 40 * 90% = 36 コアです (90% は、さまざまなエージェントとスケジューリングの損失を計算した後の有効なコア数です)。コンテナに適用されたコアの総数は 56 です。過剰販売比率を計算した後、必要な物理コアは 36 となり、要件をちょうど満たします。

過剰比率を指定し、過剰比率に応じて対応する物理 CPU リソースを準備することで、高負荷期間中にすべてのコンテナがフル稼働している場合、物理マシン上の CPU リソースは過剰比率によって約束された割合で割り当てられます。負荷が低く、計算能力が十分な場合、マシン全体がアイドル状態になるため、コンテナ間の競合はほとんど発生しません。このとき、コンテナは CPU を正常に使用できます。

単一マシンリソース保証: メモリ

物理マシン レベルでは、メモリはすべてのコンテナーによって共有されるリソースです。従来のカーネルはコンテナを優先順位付けせず、カーネルはすべてのコンテナのメモリ使用量を平等に扱います。

メモリがコンテナのパフォーマンスに与える影響は、主にメモリの割り当てとメモリのリサイクルに反映されます。

メモリ分類水位

オペレーティング システム カーネルは、システム全体のメモリ使用量を監視します。使用可能なメモリが特定のレベルを下回ると、メモリ割り当てパスがブロックされ、メモリのリサイクル操作がトリガーされます。

シナリオによっては、優先度の低いコンテナが大量のメモリを要求する可能性があり、その結果、メモリ ウォーターマークが最小ウォーターマークを下回ることがあります。物理マシンがメモリの割り当てとリサイクルに直面すると、優先度の高いコンテナが影響を受け、メモリを時間内に割り当てることができなくなります。

このシナリオに対処するために、カーネルは新しいメモリ階層型水位機能を追加しました。これにより、優先度に応じて異なる最小水位を設定できます。このように、メモリを申請する際に、低優先度コンテナが最初にリサイクル ウォーターマークに到達し、低優先度コンテナのメモリ リサイクルがトリガーされますが、高優先度コンテナのメモリ リサイクル ウォーターマークはより低く、正常に割り当てることができます。

メモリは優先度に応じて再利用されます

ネイティブ メモリはメモリを優先しないため、カーネルがメモリ リサイクル パスに到達すると、メモリ リサイクル アクションを無差別に実行します。この時点で、優先度の高いコンテナのメモリは再利用される可能性がありますが、優先度の低いコンテナのメモリはそのまま残ります。

新しい分類システムの目標は、明らかに、メモリを再利用する際に、優先度の低いコンテナのメモリを再利用することを優先し、優先度の高いコンテナのメモリを最大限に保護して、優先度の高いコンテナのパフォーマンスを確保することです。

写真

優先度リサイクルの考え方に基づいて、カーネルが行うことは、コンテナの優先度を識別し、メモリ ウォーターラインが正常なレベルに戻るまで、コンテナの優先度に従ってメモリを 1 つずつリサイクルすることです。

まずクラスBコンテナのメモリを回収する

Aレベルコンテナのメモリを取り戻す


クラスターリソースの保証: クォータ

コンテナサービスを申し込む場合、一般的にはコンテナ1つの仕様(CPU/メモリサイズ)と申し込む数量を指定する必要があります。サービスに必要なリソースの合計量をクォータと呼びます。クォータ管理の最小単位はコスト アカウントです。

写真

ご覧のとおり、新しいグレーディング システムでは、コンテナの優先度に応じて、割り当てが S レベル、A レベル、B レベルの割り当てに分割されます。クォータは、企業が要求するリソースの量を表すために使用されます。弾力性のあるクラウドやシステム部門では、割り当て量に応じて物理リソースを準備できます。たとえば、特定のコスト アカウントの場合、適用されるクォータは次のようになります。

写真

企業が申請した割り当て量と実際に用意された物理マシンリソース量の対応が明確にわかります。

新しいグレーディング システムは、割り当て申請と使用プロセスを確立して標準化することにより、リソースの過剰販売ルールに従って、バックグラウンドで割り当て申請量と実際の物理リソース準備量を効果的に組み合わせることができ、リソース レベルでの強力な保護を実現します。さらに、クォータシステムが徐々に改善され、クォータ使用率とコンテナの CPU 使用率に基づいて効果的なクォータリソース管理が実行できるようになります。

要約する

長い間、旧来のエラスティッククラウド階層化システムには、リソースの競合、業務の遅延、拡張の失敗、容量の正確な評価ができない、物理マシンの数の評価が困難などの問題がありました。これらの問題の本質は、リソースの準備と割り当てに関する明確なルールが存在しないことです。

新しい分類システムは中核的な問題に基づいており、リソースの過剰販売に関する明確なルールを提案し、単一マシン レベルとクラスター レベルの両方でコンテナーによって要求されたリソースに対して対応する保証を提供します。単一マシンレベルでは、過剰販売比率に応じて変換された後の実際の物理マシンリソースが、物理マシンが提供する最大リソースを超えないことが保証され、明確なリソース競争ルールが確立されます。クラスターレベルでは、クォータ適用プロセスを確立および標準化し、クォータと物理マシンリソースの対応を明確にしてリソースの供給を確保し、リソースの無駄を避けるためにクォータを効果的に管理しました。

新しいエラスティック クラウド分類システムは、コンテナ リソースの適用、コンテナのスケジューリング、実行時間保証、リソース管理など、複数の側面でリソース保証戦略を追加することで、コンテナの効率的で安定した運用をサポートし、エラスティック クラウド全体の安定性を確保し、物理マシンの運用コストをある程度削減します。

<<:  オープンソースのクラウド開発は時には面倒な作業になる

>>:  クラウドコンピューティングを導入する企業によってもたらされるメリットは、デジタル変革を支える重要な要素となっている。

推薦する

キーワードはウェブサイト、検索エンジン、ユーザーをつなぐ架け橋です

みなさん、こんにちは!またお会いしました。前回の記事「ウェブサイトの検索エンジンランキングを向上させ...

新しいドメイン名を持ち、外部リンクのないサイトがなぜ1位になるのか

図から、このウェブサイトは20日以内に構築され、Baiduに5つの外部リンクがあることがわかります。...

alpharacks-$6/Windows/メモリ1g/ハードディスク30g/トラフィック1T/ロサンゼルス

Alpharacks は、その年の 11 月に HostCat ブログに初めて登場しました。当時の価...

SEO最適化に別れを告げ、フォーラムを使ってウェブサイトを宣伝しましょう

SEO 最適化は、検索エンジンと競合他社によって制限されます。注意を払わない限り、特に比較的重みの低...

SEO におけるバックリンクとは何を意味しますか?

BaiduやGoogleなどの検索エンジンアルゴリズムの中核として、バックリンクの重要性は自明です。...

テンセントクラウド、SaaSエコシステム開発のため3つのサービスプロバイダーと契約

Tencent Cloud は、SaaS エコシステムにおけるレイアウトにおいてさらなる一歩を踏み出...

クラウドストレージ: 企業は2つの方法でクラウドストレージのコストを制御する必要があります

インターネットの急速な発展により、ストレージ容量に対する需要が増加しています。 K から T まで、...

テンセントクラウドは金融クラウド事業戦略をアップグレードし、新しいインフラストラクチャと新しい接続に重点を置く

9月10日、テンセントグローバルデジタルエコシステムカンファレンスの金融セッションで、テンセントクラ...

Python で大きなファイルを読み取る

1. はじめに数日前、ログ解析システムに取り組んでいて、数十 GB のファイルを処理する必要がありま...

dedipath - メモリアルデー、Windows を含む VPS が 50% オフ

アメリカ版「墓参りの日」(戦没者追悼記念日)が近づいており、dedipath はすべての VPS 製...

初心者が身につけるべきSEO習慣

SEO 初心者としては、良い SEO 習慣を身につける必要があります。良い習慣を身につけることで、学...

水戸型枠:高品質な手作り型枠

2018年最もホットなプロジェクト:テレマーケティングロボットがあなたの参加を待っていますMiTo ...

電子商取引ウェブサイトで SEO をうまく行うことは簡単ではありません。キーワードには、通常とは異なるアプローチが必要です。

現在、電子商取引サイトは主に2つの形式があります。1つはタオバオをベースとした独立サイト、もう1つは...

SaaS 企業はどこまで行けるでしょうか?主にこの2つの指標によって決まる

[[356547]] SaaS 企業の現状と、今後どこまで成長できるかを知るために、それほど多くの ...