このページでは、Google Kubernetes Engine(GKE)によってクラスタにインストールされる ComputeClass について説明します。組み込み ComputeClass ごとに名前、可用性、ノード構成について説明します。このページの対象読者は、どのような ComputeClass を利用できるか、また特定のワークロードにはどのクラスが最適であるかにつき、十分な情報を得たうえで ComputeClass を選択することを目指しているプラットフォーム エンジニアとアプリ オペレーターです。
読者は ComputeClass に精通している必要があります。
組み込み ComputeClass の概要
多くの GKE ワークロードは、ウェブサーバーや小規模なバッチジョブのような専用のハードウェアを必要としない汎用ワークロードです。このようなワークロードでは、ノード インフラストラクチャと自動スケーリング構成の手動管理に伴うオーバーヘッドの削減が優先課題です。
GKE には、Standard クラスタでの Autopilot ワークロードの運用や Spot VM へのフォールト トレラントな汎用ワークロードの配置など、さまざまなユースケースで使用できる組み込み ComputeClass があります。特定のハードウェア(GPU など)や特定のノード設定(Linux sysctl フラグなど)を必要としないワークロードには、組み込み ComputeClass を使用します。専門性が高いハードウェアを必要とするワークロードでは、カスタムの ComputeClass を使用します。
GKE で使用可能な組み込み ComputeClass
GKE で使用可能な組み込み ComputeClass を次の表に示します。
| 組み込み ComputeClass | |
|---|---|
autopilot |
Autopilot のコンテナ最適化コンピューティング プラットフォームを使用するオンデマンド x86 ノードを作成します。この ComputeClass は、すべての GKE バージョンの Autopilot クラスタでデフォルトですが、個々の GKE バージョンで明示的に選択することもできます。 この ComputeClass は Autopilot ComputeClass です。つまり、Standard クラスタでも GKE によってノードが管理されます。この ComputeClass を使用すると、Standard クラスタで Autopilot モードのワークロードを実行できます。 GKE バージョン 1.34.1-gke.1829001 以降を実行している Autopilot クラスタと Standard クラスタで使用できます。 |
autopilot-spot |
Autopilot のコンテナ最適化コンピューティング プラットフォームを使用する Spot VM を作成します。Pod 仕様で Spot VM を明示的に選択する Autopilot クラスタの Pod に、この ComputeClass がデフォルトで適用されます。 この ComputeClass は Autopilot ComputeClass です。つまり、Standard クラスタでも GKE によってノードが管理されます。この ComputeClass を使用すると、Standard クラスタで Autopilot モードのワークロードを実行できます。 GKE バージョン 1.34.1-gke.1829001 以降を実行している Autopilot クラスタと Standard クラスタで使用できます。 |
autopilot-arm |
Autopilot のコンテナ最適化コンピューティング プラットフォームを使用するオンデマンド Arm ノードを作成します。このプラットフォームは世代レスです。つまり、特定のマシン ファミリーに結び付けられていません。これにより、C4A、N4A、T2A などのマシンシリーズを指定する場合と区別されます。汎用 Arm ワークロードには、 GKE バージョン 1.35.3-gke.1389000 以降を実行している Autopilot クラスタで使用できます。この機能は、
|
これらの組み込み ComputeClass の仕様を表示するには、kubectl get コマンドを使用します。
kubectl get computeclass COMPUTECLASS_NAME -o yaml
料金
Autopilot の料金は、Pod でリクエストする ComputeClass によって異なります。詳細については、Google Kubernetes Engine の料金をご覧ください。
ワークロードでの組み込み ComputeClass の選択
GKE ワークロードをデプロイするときに組み込み ComputeClass またはカスタムの ComputeClass を選択するには、次の例のようにワークロードのマニフェストで cloud.google.com/compute-class ラベルを選択します。
この例で、COMPUTE_CLASS はコンピューティング クラスの名前です。特定の 1 つのワークロードで複数の ComputeClass を選択することはできません。
ComputeClass を選択するワークロードをデプロイすると、GKE では、その ComputeClass のプロパティを使用して、Pod を運用する新しいノードが作成されます。たとえば、ワークロードで autopilot 組み込み ComputeClass を選択すると、GKE ではそのような Pod が Autopilot モードで動作します。
組み込み ComputeClass のデフォルトの適用
クラスタにある任意の ComputeClass を、特定の Namespace またはクラスタ全体のデフォルトの ComputeClass として設定できます。別の ComputeClass を明示的に選択していない Pod には、この ComputeClass が GKE によって適用されます。組み込みの ComputeClass をデフォルトとして設定するには、次のいずれかを行います。
- ComputeClass を Namespace のデフォルトとして設定するには、ComputeClass のラベルを Namespace に追加します。
- ComputeClass をクラスタレベルのデフォルトとして設定するには、
defaultという名前で、組み込みの ComputeClass と同じ優先度ルールを持つ新しい ComputeClass を作成します。
ComputeClass を名前空間またはクラスタのデフォルトとして設定する方法については、デフォルトで ComputeClass を Pod に適用するをご覧ください。
たとえば、ウェブサーバーや小規模なバッチジョブなど、多くの汎用 Pod を実行する Standard クラスタがあるとします。autopilot 組み込み ComputeClass を模倣した ComputeClass をクラスタのデフォルトとして設定すると、ワークロードの仕様を変更しなくても、これらの汎用ワークロードが Autopilot コンテナ最適化コンピューティング プラットフォームで実行されます。別のハードウェアを必要とするワークロードは、特定の ComputeClass のセレクタを追加できます。