GKE の概要


このページでは、Google Kubernetes Engine(GKE)について説明します。GKE は、Google のインフラストラクチャを使用して、コンテナ化されたアプリケーションのデプロイと運用を大規模に行うために使用できるマネージド Kubernetes サービスです。このページは、スケーラブルで自動化されたマネージド Kubernetes ソリューションをお探しのプラットフォーム管理者を対象としています。このページをお読みになる前に、Kubernetes のコンセプトを理解しておいてください。

GKE は、Google が管理する Kubernetes オープンソース コンテナ オーケストレーション プラットフォームです。Kubernetes は、Google の社内クラスタ管理システムである Borg で長年積み重ねた本番環境ワークロードの大規模運用の経験を生かして Google が開発したシステムです。

GKE を使ってみる

GKE は数分で使い始めることができます。GKE の無料枠を使用できます。これにより、クラスタ管理に費用をかけずに Kubernetes を開始できます。

  1. Google Cloud コンソールで使ってみる

  2. クイックスタートで、コンテナ化されたウェブ アプリケーションをデプロイしてみましょう。
  3. Autopilot の概要で、プラットフォームの計画と運用に関するガイダンスとリソースをご確認ください。

GKE の使用が適している環境

GKE は、ネットワーキング、スケーリング、ハードウェア、セキュリティなど、コンテナ化されたアプリを実行するインフラストラクチャを構成できるプラットフォームが必要な場合に最適です。GKE は、Kubernetes の運用能力を提供するとともに、コントロール プレーンやノードなど、基盤となる多くのコンポーネントを管理します。

GKE のメリット

次の表に、マネージド Kubernetes プラットフォームとして GKE を使用するメリットを示します。

GKE のメリット
プラットフォーム管理
  • GKE Autopilot モードのフルマネージド ノード。組み込みの強化機能とベスト プラクティスの構成が自動的に適用されます。
  • リリース チャンネルを使用したマネージド アップグレード。セキュリティ、信頼性、コンプライアンスが向上します。
  • 柔軟なメンテナンスの時間枠と除外。ビジネスニーズとアーキテクチャの制約に合わせて、アップグレードのタイプとスコープを構成できます。
  • GKE Standard モードの柔軟なノード アップグレード戦略。可用性を最適化し、中断を管理できます。
  • Autopilot モードまたは Standard モードのノードの自動プロビジョニング。クラスタ内の Pod の数に応じてノードを自動的にスケーリングできます。
  • ノードの自動修復。ノードの正常な稼働と可用性を保持できます。
  • 組み込みのロギング機能とモニタリング機能
  • Cloud BuildCloud Deploy が統合された Google Cloud の CI / CD オプション。
セキュリティ ポスチャーの強化
費用の最適化
  • Autopilot モードでは、実行中の Pod がリクエストしたコンピューティング リソースに対してのみ料金が発生します。

    GKE Standard モードでは、Pod がリクエストするかどうかに関係なく、ノードのすべてのリソースに対して料金が発生します。

  • バッチジョブなどのフォールト トレラントなワークロードを Spot Pod で実行することで、コストを削減できます。
  • Autopilot モードでは、Google がノードとコントロール プレーンの両方を管理するため、運用のオーバーヘッドを最小限に抑えることができます。
信頼性と可用性
ベスト プラクティス:

Cloud Build、Cloud Deploy、Artifact Registry を使用するようにアプリケーションの CI / CD パイプラインを構成します。マネージド ビルドとデプロイ サービスを使用すると、セキュリティ、スケール、シンプルさを最適化できます。

GKE のユースケース

GKE と Kubernetes は、ロボット工学、医療、小売、教育、ゲーム、金融サービスなど、さまざまな業界で使用されています。次のようなワークロードを実行できます。

業界とアプリケーション別の事例紹介については、Google Cloud のお客様をご覧ください。

GKE の仕組み

GKE 環境はノードで構成されます。ノードは Compute Engine 仮想マシン(VM)であり、グループ化されてクラスタを形成します。アプリ(ワークロードとも呼ばれます)はコンテナにパッケージ化されます。コンテナのセットを Pod としてノードにデプロイします。Kubernetes API を使用して、管理、スケーリング、モニタリングなどのワークロードを操作します。

Kubernetes クラスタにはコントロール プレーンと呼ばれる管理ノードのセットがあり、Kubernetes API サーバーなどのシステム コンポーネントが実行されます。GKE では、コントロール プレーンとシステム コンポーネントが Google によって管理されています。GKE の実行に推奨される Autopilot モードでは、Google がワーカーノードも管理します。Google では、安定性とセキュリティの向上、高可用性の確保、クラスタの永続ストレージに保存されているデータの整合性確保のため、コンポーネントのバージョンを自動的にアップグレードします。

詳細については、GKE クラスタ アーキテクチャをご覧ください。

ベスト プラクティス:

VM でワークロードを実行する場合は、Migrate for GKE を使用して、アプリの書き換えやソースコードの変更なしにワークロードをコンテナ化することを検討してください。

Kubernetes のバージョンと機能

GKE では、オープンソース プロジェクトの新機能と改善点が利用できるように、コントロール プレーンを新しいバージョンの Kubernetes に自動的にアップグレードします。自動アップグレードに選択される Kubernetes バージョンは、クラスタの作成時に選択した GKE リリース チャンネルの安定版によって異なります。GKE がアップグレードに選択したバージョンとは異なる Kubernetes バージョンにコントロール プレーンを手動でアップグレードすることもできます。バージョンとアップグレードの詳細については、リリースノートGKE のバージョニングとアップグレードをご覧ください。GKE Standard モードを使用していて、リリース チャンネルに登録していない場合、自動アップグレードが提供されません。

GKE には、Kubernetes のベータ版と安定版の機能の大部分が含まれています。1.24 以降のベータ版 API を使用できます。

ベスト プラクティス:

アルファ版で安定性の低い Kubernetes 機能を試す場合は、アルファ版の Standard クラスタを使用します。また、本番環境クラスタでベータ版 API を有効にしないでください。有効にする場合は、影響を慎重に検討してください。

運用モード

GKE には、Autopilot と Standard の運用モードがあり、さまざまなレベルの柔軟性、責任範囲、制御に対応しています。

モードを選択する前に詳細情報が必要な場合は、GKE の運用モードを選択するをご覧ください。

ベスト プラクティス:

フルマネージドの Autopilot モードを使用してください。このモードでは、Google Cloud がノードを管理するので、ワークロードを中心としたプロダクション レディなエクスペリエンスを最適なコストで利用できます。Standard モードは、ノードプールとクラスタを手動で管理する必要がある場合にのみ使用してください。

次のステップ