割り当てと上限


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

割り当ては、Google Cloud プロジェクトで使用できる共有 Google Cloud リソース(ハードウェア、ソフトウェア、ネットワーク コンポーネントなど)の量を制限します。つまり、割り当てはシステムの一部で、次の機能があります。

  • Google Cloud のプロダクトとサービスの使用量や消費量をモニタリングする。
  • 公平性の確保や使用量急増の抑制などのため、これらのリソースの消費量を制限する。
  • 規定の制限を自動的に適用する構成を維持する。
  • 割り当てをリクエストまたは変更する手段を提供する。

ほとんどの場合、割り当てを超過すると、システムは関連する Google リソースへのアクセスをすぐにブロックするため、ユーザーが試行しているタスクは失敗します。ほとんどの場合、割り当ては各 Google Cloud プロジェクトに適用され、その Google Cloud プロジェクトを使用するすべてのアプリケーションと IP アドレスで共有されます。

ほどんどの場合、割り当ての増減を行うには Google Cloud コンソールを使用します。詳細については、割り当ての増加をリクエストするをご覧ください。

GKE リソースには上限もあります。これらの上限は、割り当てシステムとは無関係です。上限は、特に明記されていない限り、変更できません。

プロジェクトあたりの上限

単一のプロジェクトで、ゾーンあたり最大 100 のゾーンクラスタと、リージョンあたり 100 のリージョン クラスタを作成できます。

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

クラスタあたりの上限

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

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

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

注: 2,000 を超えるノードの実行を予定している場合は、リージョン クラスタを使用します。

注: 5,000 を超えるノードの実行は、限定公開クラスタまたは Private Service Connect を使用するクラスタで、GKE Dataplane V2 が無効になっている場合にのみ可能です。この割り当て上限を増やすには、サポートにお問い合わせください。

5,000 個のノード

注: 1,000 を超えるノードの実行を予定している場合は、GKE Autopilot バージョン 1.23 以降を使用します。

注: 400 を超えるノードを実行する場合は、以前のバージョンで作成したクラスタに対してクラスタサイズの割り当てを引き上げる必要があります。詳しくは、サポートまでお問い合わせください。

ノードプールあたりのノード数 ゾーンあたり 1,000 個のノード 該当なし
ゾーン内のノード数
  • NEG ベースの Ingress を使用したコンテナ ネイティブの負荷分散ではノード数の上限はありません。そのため、可能な限りこれを使用することをおすすめします。GKE バージョン 1.17 以降は NEG ベースの Ingress がデフォルトのモードです。
  • 1,000 個のノード: インスタンス グループベースの Ingress を使用している場合。
該当なし
ノードあたりの Pod 数1 256 個の Pod

注: 1.23.5-gke.1300 より前の GKE バージョンの場合、上限の Pod 数は 110 です。

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

  • バージョン 1.28 より前の GKE の場合、Pod 数の上限は 32 個です。
  • Accelerator クラスの Pod と Performance クラスの Pod の場合、上限はノードあたり 1 Pod です。
クラスタあたりの Pod 数2 200,000 個の Pod1 200,000 個の Pod
クラスタあたりのコンテナ数 400,000 個のコンテナ 400,000 個のコンテナ
etcd データベースのサイズ 6 GB 6 GB

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

API リクエストの上限

Kubernetes Engine API のデフォルトのレート上限は 1 分あたり 3,000 リクエストであり、100 秒ごとに適用されます。

リソースの割り当て

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

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

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

kubectl get resourcequota gke-resource-quotas -o yaml

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

Check your quota

Console

  1. In the Google Cloud console, go to the Quotas page.

    Go to Quotas

  2. The Quotas page displays the list of quotas that are prefiltered to GKE quotas.
  3. To search for the exact quota, use the Filter table. If you don't know the name of the quota, you can use the links on the Quotas page.

gcloud

  1. To check your quotas, run the following command:
    gcloud compute project-info describe --project PROJECT_ID

    Replace PROJECT_ID with your own project ID.

  2. To check your used quota in a region, run the following command:
    gcloud compute regions describe example-region

メモ

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

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