割り当てと上限

このドキュメントでは、Google Kubernetes Engine に適用される割り当てと上限を示します。

  • 割り当てにはデフォルト値がありますが、通常は調整をリクエストできます。
  • システムの上限は固定値で、変更できません。

Google Cloud では、割り当てを使用して公平性を確保し、リソースの使用量と可用性の急増を抑えます。割り当ては、 Google Cloud プロジェクトで使用できるGoogle Cloud リソースの量を制限します。割り当ては、ハードウェア、ソフトウェア、ネットワーク コンポーネントなど、さまざまなリソースタイプに適用されます。たとえば、割り当てによって、サービスへの API 呼び出しの数、プロジェクトで同時に使用されるロードバランサの数、作成可能なプロジェクトの数を制限できます。割り当てを適用することで、サービスの過負荷を防ぎ、Google Cloud ユーザーのコミュニティを保護します。割り当ては、自組織で使用している Google Cloud リソースの管理にも役立ちます。

Cloud Quotas システムは次のことを行います。

ほとんどの場合、割り当ての許容量を超えるリソースを消費しようとすると、システムによってリソースへのアクセスがブロックされ、実行しようとしているタスクは失敗します。

割り当ては通常、 Google Cloud プロジェクト レベルで適用されます。あるプロジェクトでリソースを使用しても、別のプロジェクトで使用可能な割り当てに影響することはありません。 Google Cloud プロジェクト内では、すべてのアプリケーションと IP アドレスで割り当てが共有されます。

詳細については、Cloud Quotas の概要をご覧ください。

通常、割り当てを調整するには Google Cloud コンソールを使用します。詳細については、割り当ての調整をリクエストするをご覧ください。

GKE リソースにはシステムの上限もあります。システムの上限は変更できません。

プロジェクトごとの割り当て

GKE には次の割り当てがあります。

注: Autopilot モードで作成されたクラスタは、リージョン クラスタとして事前構成されています。

割り当て量を確認する

割り当ては、 Google Cloud コンソールの [割り当て] ページで確認できます。

[割り当て] に移動

割り当ての管理の詳細については、割り当ての表示と管理をご覧ください。

クラスタあたりの上限

次の表に、GKE クラスタごとの上限を示します。

次の表に示す GKE バージョンは、クラスタノードとコントロール プレーンの両方に適用されます。

上限 GKE Standard クラスタ GKE Autopilot クラスタ
クラスタあたりのノード数 65,000 ノード

すべてのノード割り当ての増加が自動的に行われるわけではありません。ターゲット ノード数(最大 5,000 ノード、最大 15,000 ノード、最大 65,000 ノードなど)に応じて、特定のインフラストラクチャ要件があります。Cloud カスタマーケアにお問い合わせいただく必要がある場合があります。詳細については、クラスタ サイズの上限と要件をご覧ください。

5,000 個のノード

この上限を使用する場合は、GKE アーキテクチャを設計する際に次の推奨事項を検討してください。

  • 1,000 を超えるノードの実行を予定している場合は、GKE Autopilot バージョン 1.23 以降を使用します。
  • 400 を超えるノードを実行する場合は、以前のバージョンで作成したクラスタに対してクラスタサイズの割り当てを引き上げる必要があります。詳しくは、サポートまでお問い合わせください。
ノードプールあたりのノード数 ゾーンあたり 1,000 個のノード

ゾーンあたり 2,000 個の TPU ノード - 1.28.5-gke.135500、1.29.1-gke.1206000、1.30 以降のバージョンが必要です。
該当なし
ゾーン内のノード数
  • NEG ベースの Ingress を使用したコンテナ ネイティブのロード バランシングでは、ノード数の上限はありません。そのため、可能な限りこれを使用することをおすすめします。GKE バージョン 1.17 以降は NEG ベースの Ingress がデフォルトのモードです。
  • 1,000 個のノード: インスタンス グループベースの Ingress を使用している場合。
該当なし
ノードあたりの Pod 数1 512 個の Pod

8~256 の任意の値に動的に設定します。GKE は、クラスタサイズとワークロード数を考慮して、ノードあたりの最大 Pod 数をプロビジョニングします。

  • バージョン 1.28 より前の GKE の場合、Pod 数の上限は 32 個です。
  • GPU Pod と Performance クラスの Pod の場合、上限はノードあたり 1 Pod です。
クラスタあたりの Pod 数2 200,000 個の Pod1 200,000 個の Pod
クラスタあたりのコンテナ数 400,000 個のコンテナ 400,000 個のコンテナ
単一リソースのサイズ 1.5 MiB

注: Kubernetes API サーバーは、削除前に一部のリソースを更新します。この更新により、リソース サイズが増加し、リソースの削除が永久に妨げられる可能性があります。

1.5 MiB

注: Kubernetes API サーバーは、削除前に一部のリソースを更新します。この更新により、リソース サイズが増加し、リソースの削除が永久に妨げられる可能性があります。

クラスタ状態データベースのサイズ 6 GB 6 GB
同時オペレーション 100 件のオペレーション 100 件のオペレーション

プラットフォーム管理者として、GKE で実行される大規模なワークロードに割り当てがどのように影響するかに精通することをおすすめします。大規模なワークロードのその他の推奨事項、ベスト プラクティス、上限、割り当てについては、スケーラブルなクラスタを作成するためのガイドラインをご覧ください。

リソースの割り当て

ノード数が 100 未満のクラスタの場合、GKE はすべての Namespace に Kubernetes リソース割り当てを適用します。これらの割り当ては、クラスタにデプロイされたアプリケーションの潜在的なバグによって引き起こされる不安定性からクラスタのコントロール プレーンを保護します。これらの割り当ては GKE によって適用されるため、削除できません。

GKE は、ノードの数に比例してリソース割り当ての値を自動的に更新します。100 ノードを超えるクラスタの場合、GKE はリソース割り当てを削除します。

リソースの割り当てを調べるには、次のコマンドを使用します。

kubectl get resourcequota gke-resource-quotas -o yaml

特定の Namespace の値を表示するには、--namespace オプションを追加してその Namespace を指定してください。

メモ

  1. GKE Standard クラスタあたりの Pod の最大数には、システム Pod が含まれます。システム Pod の数は、クラスタの構成と有効な機能によって異なります。↩

  2. 1 つのノードに収まる Pod の最大数は、Pod のリソース リクエストのサイズとノードの容量によって異なります。すべての上限に同時に到達するとは限りません。ベスト プラクティスとして、大規模なデプロイの負荷テストをおすすめします。↩