割り当てと上限

このページでは、Google Kubernetes Engine(GKE)クラスタ、ノード、GKE API リクエストの割り当てと上限について説明します。

GKE のプロジェクトごとの上限は次のとおりです。

GKE のクラスタごとの上限は次のとおりです。

  • GKE リリース 1.17 以前では、1 クラスタあたりの最大ノード数 5,000。
  • GKE リリース 1.18 以降では、1 クラスタあたりの最大ノード数 15,000。ただし、5,000 ノードを超えて実行するにはクラスタサイズの割り当てを引き上げる必要があります。不明な点がある場合はサポートにお問い合わせください。
  • 1 ノードプール ゾーンあたりの最大ノード数 1,000。
  • インスタンス グループベースの Ingress を使用する場合、1 クラスタあたりの 1 ゾーン内のノード数は 1,000 個までに制限されます。一方、NEG ベースの Ingress を使用したコンテナ ネイティブの負荷分散ではノード数の上限はありません。そのため、可能な限りこれを使用することをおすすめします。GKE 1.17 以降は NEG ベースの Ingress がデフォルトのモードです。
  • 1 ノードあたりの最大 Pod 数 110。
  • 1 クラスタあたりの最大 Pod 数 150,000、最大コンテナ数 300,000。

Kubernetes Engine API のレート上限は 1 秒あたり 10 リクエストです。

クラスタごとの上限とプロジェクトごとの上限のほかに、特定の GKE 機能には追加の上限があります。詳細については、使用する機能のドキュメントをご覧ください。

Compute Engine のリソース割り当ても適用されることがあります。 また、Compute Engine のデフォルトのリージョン CPU 割り当てを使用しているプロジェクトの場合、コンテナ クラスタは 1 リージョンあたり 3 つに制限されます。

リソースの割り当て

GKE 1.12.5 以降からは、5 ノード以下のクラスタとそのクラスタの Namespace に、一連のリソース割り当てが自動的に適用されます。これらの割り当ては削除できず、クラスタにデプロイされたアプリケーションの潜在的なバグによって引き起こされる不安定性からクラスタのコントロール プレーンを保護します。これらの割り当てを検証するには、kubectl get resourcequota gke-resource-quotas -o yaml コマンドを使用します。特定の Namespace の gke-resource-quotas オブジェクトを表示するには、--namespace オプションを追加してその Namespace を指定してください。

2019 年 8 月 26 日からは、10 ノード以下のクラスタとそのクラスタの Namespace に、一連のリソース割り当てが自動的に適用されます。これらの割り当ては削除できず、クラスタにデプロイされたアプリケーションの潜在的なバグによって引き起こされる不安定性からクラスタのコントロール プレーンを保護します。これらの割り当てを検証するには、kubectl get resourcequota gke-resource-quotas -o yaml コマンドを使用します。特定の Namespace の gke-resource-quotas オブジェクトを表示するには、--namespace オプションを追加してその Namespace を指定してください。