クラウドネイティブ ハイブリッド展開シナリオでリソース クォータを使用してクラスター リソースを効率的に割り当てる方法は?

クラウドネイティブ ハイブリッド展開シナリオでリソース クォータを使用してクラスター リソースを効率的に割り当てる方法は?

01 はじめに

アリババグループでは、オフラインコロケーション技術が2014年に初めて使用されました。双十一ショッピングフェスティバルでの7年間のテストの後、社内で広く推進され、アリババグループは毎年数十億ドルのリソースコストを節約しています。全体のリソース利用率は約70%と業界トップレベルです。過去2年間、当グループのコロケーション技術を製品化した形で業界に輸出し始めました。標準のネイティブ K8s クラスターにプラグイン方式でシームレスにインストールでき、コロケーション管理や運用保守機能と組み合わせることで、クラスター リソースの使用率と製品の全体的なユーザー エクスペリエンスが向上します。

コロケーションは、K8sのスケジューリング、OSの分離、可観測性などの技術を含む複雑な技術と運用保守システムであるため、以前の記事「   7 年間にわたる Double 11 運用を経て、Alibaba はクラウド ネイティブ コロケーションのスケジュール優先順位とサービス品質をどのように定義していますか?   ” では主に、スケジューリングの優先順位とサービス品質モデルに焦点を当てています。今日は、リソース クォータのマルチテナントに関連するコンテンツに焦点を当てます。

02 リソース割り当ての概要

まず、質問をしたいと思います。 K8s スケジューラは、リソースがない場合にポッドを保留状態にすることができるので、リソース割り当て設計が必要なのはなぜですか?

システムを研究するときは、設計そのものを学ぶだけでなく、なぜその設計が必要なのかを考える必要があります。この設計がシステムから削除されたらどうなるでしょうか?システムに機能設計を追加すると、システムを使用する人々の精神的負担など、いくつかの副作用が発生するため、システムのセキュリティ、高可用性、パフォーマンスをすべて考慮する必要があります。つまり、機能が多ければ多いほど良いのです。システムが優れているほど、提供される機能が少ないほど優れています。たとえば、C 言語には 32 個のキーワードしかありませんが、ユーザーはこれらの基本機能をカスタマイズして組み合わせることで、必要なあらゆるニーズを満たすことができます。

元の質問に戻ると、CPU、メモリ、物理マシン上のディスク、または GPU カードなどのその他のリソースなど、クラスターのリソースは制限される必要があります。スケジュール設定だけでこの問題は解決できるのでしょうか?このクラスターにユーザーが 1 人しかいない場合は、この問題はまだ許容できます。たとえば、ポッドが保留中であることがわかった場合、新しいポッドは作成されません。新しいポッドの方が重要な場合は、ユーザーは古いポッドを削除して新しいポッドを作成できます。ただし、実際のクラスターは複数のユーザーまたはチームによって同時に使用されます。チーム A のリソースが不足すると、チーム B がどのアプリケーションにスペースを作ることができるかを決定するまで待機する必要があります。現時点では、チーム間のコミュニケーションの効率は非常に低いです。したがって、スケジュールを設定する前に、別の手順を追加する必要があります。次の図に示すように:

このリンクでは、リソース クォータとテナントの 2 つの概念が紹介されています。テナントは、リソース割り当てを割り当てるチーム ユニットです。クォータとは、限られたクラスター リソースを使用する際に、複数のテナントによって事前に合意されたものです。事前にというのは非常に重要なキーワードです。つまり、ポッドがスケジュールされたり実行されたりするまで待ってから、割り当てが不十分なためにポッドを作成できないことを作成者に伝えることはできません。代わりに、ポッドを作成する前に、各チームにリソースに関する心理的な期待を与える必要があります。毎年初めにリソース割り当てを割り当てる際に、チーム A またはチーム B が今年使用できる合計割り当てを設定します。このように、チーム A の割り当てが使い果たされると、チーム A はまずリソースに優先順位を付け、重要でないポッドを削除することができます。それでも不十分な場合は、チーム B の割り当てから割り当てられるかどうかチーム B と話し合います。このように、どのような状況でも非効率的なポイントツーポイント通信を行う必要はありません。年初に、チーム A とチーム B は、ビジネスにおけるリソース使用量の大まかな見積もり (リソース予算と呼ばれる) を作成する必要があります。

したがって、この観点から見ると、リソース クォータは、複数のテナントが低頻度かつ高効率な方法で相互に通信し、協力するための手段です。クォータの概念を経済学に当てはめると、少し計画経済のような感じがしませんか?実際、中核となる考え方は同じです。つまり、限られたリソースの下で、さまざまな組織が事前に効率的な協力とコミュニケーションの計画を立てる必要があるということです。

K8s

経済

会社の財務

抽象概念の類似点

クォータ

計画経済

予算

少数の大規模組織間の低頻度のコミュニケーション

スケジュールの優先順位

市場経済

埋め込む

多数の小さな個体間の高頻度のコミュニケーション

サービス品質

最終決算

事後に計算された実際の値

03 低優先度リソースの割り当てはどこから来るのでしょうか?

 APIバージョン: v1
種類: ポッド
メタデータ:
注釈:
アリババクラウドcom / qosClass : BE # { LSRLSBE }
仕様:
コンテナ:
- リソース
制限:
アリババクラウドcom / reclaimed - cpu : 1000 #単位: ミリコア、1000 は 1 コアを意味します
alibabacloud.com/reclaimed-memory:2048 #単位: バイト 通常のメモリ同じです 単位はGi、 Mi、 Ki、 GB 、MB、 KBです。
リクエスト:
alibabacloud.com/reclaimed-cpu : 1000
alibabacloud.com/reclaimed-memory : 2048

今日議論したいトピックに戻りましょう。クラウドネイティブ ハイブリッド デプロイメントのリソース クォータと K8s コミュニティのネイティブ リソース クォータの違いは何ですか?上記の yaml 構成から、優先度の低いリソースを管理するためにコミュニティ拡張リソースを使用していることがわかります。したがって、低優先度 CPU と低優先度メモリの合計割り当てを制御することは当然であり、これらの合計はさまざまな部門間で事前に割り当てられます。このロジックはコミュニティのリソース割り当てロジックと同じなので、ここでは詳細には触れません。コミュニティの公式ドキュメント「リソースクォータ」を参照してください。

ただし、低優先度リソースの一部のロジックは、コミュニティ リソース割り当てのロジックとは異なります。さらに、CPU とメモリ リソースの固有の特性が異なるため、違いもあります。次の表はこの概念を説明します。

CPU

メモリ

クラスタマシンのすべてのリソースの合計量

100C

100G

コロケーションパラメータ

低いCPU過剰販売率: 60%

低最適メモリ割り当て率: 40%

Kubernetes ネイティブ リソースの合計割り当て (コロケーションの高品質と中品質の合計割り当てに相当)

100C

60G

コロケーションの低優先度割り当ての合計

60C

40G

ご覧のとおり、CPUは圧縮可能なリソースなので、   CPU過剰販売率が低い このパラメータは、すべての低優先度タスクに対して、元のクラスターの 100C に加えて 60C のリソースを過剰販売できます。メモリなどの非圧縮リソースの場合、合計サイズは 100G です。  最適なメモリ割り当て比率が低い このパラメータの 40G を割り当てた後、高、中、高優先度に残るのは 60G のみです。コロケーション クラスターの管理では、オンライン サービスの使用に影響を与えずに十分なメモリを確保できるように、クラスター マシンにさらに多くのメモリを構成する必要があるという結論が導き出されます。

注: 圧縮可能なリソース (CPU サイクル、ディスク I/O 帯域幅など) はレートに敏感であり、タスクを強制終了せずに再利用できます。また、圧縮できないリソース (メモリ、ディスク領域など) は、通常、タスクを強制終了しない限り再利用できません。

「Google 5-6 での大規模クラスタの管理に Borg を使用する」 - 6.2 パフォーマンス分離

ここで皆さんをハラハラさせておきます。これらのパラメータの具体的な適切な比率と合理的な設定については、Alibaba Cloud の商用製品 ACK Agile Edition Colocation に詳しく記載されています。

04 容量ベースの柔軟なクォータスケジューリング

クォータの観点から見たクラウド ネイティブ コロケーションとコミュニティ デプロイメントの 2 番目の違いは何ですか?コロケーションの導入により、多数のオフライン コンピューティング タスクが導入されることがわかります。比較的規則的なオンライン サービスと比較すると、オフライン タスクは洪水のように波のように押し寄せ、期間全体にわたってより不規則です。チーム A がビッグ データ計算を実行しており、低優先度の割り当てをすべて使い果たしているが、チーム B のビッグ データ計算はまだ実行されておらず、まだ余裕のある割り当てが残っている可能性があります。

では、この割り当ての一部を利用して、まずは A 部門に「貸し出す」ことは可能でしょうか?ここで、容量ベースのクォータ スケジューリングという別の機能を導入できます。

  1. さまざまなレベルでのリソース クォータの定義をサポートします。上図に示すように、特定の状況 (会社の組織構造など) に基づいて、複数レベルの柔軟なクォータを設定できます。エラスティック クォータ グループのリーフ ノードは複数の名前空間に対応できますが、同じ名前空間は 1 つのリーフ ノードにのみ属することができます。
  2. 異なる弾性クォータ間でのリソースの借用とリサイクルをサポートします。
  • 最小: 使用できる保証されたリソース。クラスター全体のリソースが不足している場合、すべてのユーザーが使用する Min の合計は、クラスターの合計リソースよりも小さくする必要があります。
  • 最大: 使用できるリソースの上限。

この柔軟な割り当てスケジュールを導入した後、組織内の複数のチームが優先度の低いリソースを使用する際に、より「柔軟」になっていることがわかりました。チーム B にアイドル クォータがある場合、チーム A から動的にそれを「借りる」ことができ、その逆も同様です。このようにして、期間全体にわたってクラスターの使用率がさらに向上し、クラスター リソースがより完全かつ効率的に使用されます。

05 関連ソリューションの紹介

2022年を迎えるにあたり、コロケーションはAlibaba内で非常に成熟した技術となり、Alibabaは毎年数十億ドルのコストを節約しており、Alibabaのデータセンターの基本的な機能となっています。 Alibaba Cloud は、これらの成熟したテクノロジーをコロケーション製品として開発するのに 2 年を費やし、さまざまな業界にサービスを提供し始めています。

Alibaba Cloudの製品ファミリーでは、コロケーション機能を統合します。   ACK アジャイルエディション   CNStack(CloudNative Stack)製品ファミリー  、OpenAnolisオペレーティングシステムと組み合わせることで、完全な クラウドネイティブデータセンターハイブリッド 部門 オールインワンソリューション  、お客様への出力。


<<:  UFIDA iuap は PaaS プラットフォームを再定義し、企業のデジタル化のための新しい基盤を構築します

>>:  江島クラウド:企業のデジタル革新を促進する普遍的な開発

推薦する

Aizhan.com の成功したウェブサイトのプロモーション プロセス

立ち上げからわずか数か月で、Aizhan.com のランキングは 300 を超え、すべてのウェブマス...

#黑5# hosthatch: 超大容量ハードディスク搭載VPSを格安で販売、KVM+NMVe VPSも

今年のブラックフライデーとサイバーマンデーのプロモーションであるHosthatchは、特大ハードディ...

sugarhosts: 香港 + ロサンゼルス CN2、VPS が 40% オフ、仮想ホスティング、3 年間購入すると 3 年間無料

Sugarhosts はクリスマス早めのプロモーションを提供しています: (1) 仮想ホスティングの...

Weiboマーケティングはどれほど重要ですか?こちらをご覧ください

ショートビデオ、セルフメディア、インフルエンサーのためのワンストップサービスWeibo はネットユー...

pumpcloud: 台湾のダイナミック VPS、いつでも IP を切り替え可能、250Mbps の帯域幅、無制限のトラフィック、月額 42.48 ドル

pumpcloud は、台湾のダイナミック VPS (いつでも IP を切り替えるのに便利) を新た...

百度を検索の七つの大罪で非難

Baidu アルゴリズムは今年頻繁に更新され、アップグレードされましたが、アップグレード後の反応はど...

IBM レポート: 在宅勤務は SaaS セキュリティにどのような影響を与えるか?

IBM Security が発表した 2020 年のデータ侵害コストレポートによると、クラウドの使用...

自分と敵を知ることは、紙の上で話すだけでは十分ではありません。ウェブサイト分析の正しい方法の解釈

ウェブサイト分析は、すべての SEO 最適化担当者にとって不可欠なスキルです。最適化担当者が最適化が...

モバイルソフトウェア開発者向けのシステム選択

「携帯電話」という言葉は、食べること、飲むこと、遊ぶことと同じように、人々の生活に欠かせない要素とな...

こんなに多くのバグがあるのに、なぜゲーム会社はいまだに KFC とのコラボレーションを好むのでしょうか?

人気ゲーム「原神」が6週間ぶりに新バージョン1.4にアップデートしました。こうしたことが起こるたびに...

maple-hosting: オランダの反苦情サーバー、月額 249 ドル、AMD Ryzen9 3900X/32gDDR4/4T ハードディスク/100T トラフィック、最大 20Gbps 帯域幅

Maple-hostingはオランダの民間ホスティング会社で、主にオランダのデータセンターで独立した...

Google 特許におけるドメイン名の重みから見るドメイン名の SEO への影響

2003 年 12 月 31 日、Google は、図に示すように、「履歴データに基づく情報検索」と...

racknerd: (複数モデル、高構成) 米国独立サーバー サマーセール、月額 189 ドル - AMD Ryzen7 3700X/32G メモリ/1T NVMe/20T トラフィック

Racknerd は、米国の複数のコンピューター ルームでハイエンドの独立型サーバーを販売しています...

意見: アジアにおけるクラウド導入に関する 5 つの大きな誤解

今日のデジタル変革の競争の時代において、組織は迅速に行動し、対応する必要があります。しかし、ビジネス...