このページでは、管理者向けの GKE クラスタ管理の概要について説明します。
GKE でワークロードを実行しているデベロッパーは、これらのタスクのほとんどを実行する必要がない場合があります。GKE へのワークロードのデプロイの概要については、ワークロードのデプロイをご覧ください。
このページを読む前に、次のことと Kubernetes の基本コンセプトを理解しておく必要があります。
どのようなツールを使用すればよいですか?
管理者は、さまざまなツールを使用して GKE クラスタの操作を行います。
クラスタの構成と全体的な特性を制御するには、Google Cloud のツールと API(Google Cloud CLI、Google Cloud コンソール など)を使用します。たとえば、クラスタの作成、更新、表示、削除を行うことができます。また、Identity and Access Management(IAM)を使用してクラスタにアクセスできるユーザーを制御します。モニタリング、ロギング、アラートには、オブザーバビリティ サービスなど、他の Google Cloud ツールやサービスも使用できます。
クラスタの内部動作を制御するには、Kubernetes API と
kubectl
コマンドライン インターフェースを使用します。kubectl
を使用する必要があるタスクには、ワークロードのデプロイ、Kubernetes ロールベースのアクセス制御(RBAC)ポリシーの適用、Kubernetes ネットワーク ポリシー ルールの指定などがあります。GKE クラスタで使用するためにkubectl
を構成する方法については、kubectl
をインストールしてクラスタ アクセスを構成するをご覧ください。クラスタとワークロードを宣言的にプロビジョニングするには、Terraform を使用できます。GKE で Terraform を使用する方法の詳細については、Terraform を使用して GKE リソースをプロビジョニングするをご覧ください。
基本的なクラスタ管理
基本的なクラスタ管理タスクには、クラスタ構成、クラスタのアップグレード、ノードの構成などがあります。クラスタにデフォルトの Autopilot モードを使用している場合(推奨)、GKE がほとんどの処理を行います。クラスタのアップグレードとノードの構成は GKE によって管理されます。Standard モードを使用する場合、アップグレードのみ GKE によって管理され、ノードは自分で構成する必要があります。クラスタに Standard モードを選択する必要がある場合の詳細については、 GKE の運用モードをご覧ください。
基本的なクラスタ管理タスクは、Google Cloud 上の GKE クラスタに固有のタスクであり、通常は Kubernetes システムそのものは関与しません。これらのタスクは一貫して、Google Cloud コンソール、Google Cloud CLI、GKE API、または Terraform の Google Cloud プロバイダを使用して行います。
クラスタの表示
クラスタの基本情報は、Google Cloud コンソール、Google Cloud CLI、または GKE API を使用して確認できます。これには、クラスタの実行状況と現在の構成のほか、すべてのクラスタのリスト表示が含まれます。詳細については、クラスタの管理をご覧ください。
クラスタの状態と健全性の詳細については、オブザーバビリティ ツールと機能を使用して確認できます。
クラスタとノードのアップグレード
デフォルトでは、クラスタとノードは自動的にアップグレードされます。アップグレードのタイミングなど、各クラスタでアップグレードを構成する方法については、アップグレードの仕組みをご覧ください。
クラスタレベルの構成
クラスタレベルの構成タスクとしては、GKE クラスタとノードの作成や削除などがあります。クラスタのメンテナンス タスクが発生するタイミングなど、一部のクラスタ設定を更新することもできます。
クラスタ構成の詳細については、クラスタ構成の概要をご覧ください。
ノード構成
クラスタに Autopilot を使用する場合、GKE がノードを構成するため、ノード構成を気にする必要はありません。Autopilot クラスタノードはすべて GKE によって完全に管理され、すべて同じノード オペレーティング システム(OS)cos_containerd
を使用します。
ただし、クラスタで Standard モードを使用する必要がある場合は、GKE にはクラスタのノードにさまざまなオプションが用意されています。たとえば、1 つ以上のノードプールを作成できます。ノードプールとは、共通の構成を共有する、クラスタ内のノードのグループのことです。クラスタには少なくとも 1 つのノードプールが必要です。クラスタを作成すると、デフォルトで default
という名前のノードプールが作成されます。GKE でのノードプールの管理の詳細については、ノードプールの追加と管理をご覧ください。
Standard クラスタのその他のノード構成オプションには、デフォルト以外の OS の選択、エフェメラル スポット VM の使用、新しいノードの最小 CPU プラットフォームの選択などがあります(Autopilot ユーザーは、コンピューティング負荷の高いワークロードに最小 CPU プラットフォームを指定することもできますが、ワークロード スコープでのみ指定できます)。
Standard クラスタでも、GKE が管理する iptables
ルールや他のノードレベルの設定を変更することはできません。手動で行った変更がクラウドのデフォルトの構成に戻されたときに、ノードが到達不能になることがあります。また、予期せず公開される可能性もあります。
クラスタ ネットワークの構成
クラスタ管理の重要な側面は、Standard クラスタの IP アドレス オプション、クラスタのノードにパブリック ネットワークからアクセスできるかどうか(パブリック ネットワークからアクセスできないノードはプライベート ノードと呼ばれます)、ネットワーク アクセス ポリシーなど、クラスタのさまざまなネットワーキング機能を有効にして制御することです。
多くのネットワーク機能はクラスタの作成時に設定されます(その多くはクラスタを再作成せずに変更できません)。Google Cloud インターフェースを使用してクラスタを作成する際に、使用するネットワーク機能を有効にする必要があります。この動作のため、ネットワーク管理者でない場合は、本番環境対応クラスタを設定するときにネットワーク管理者と緊密に連携する必要があります。
ネットワーク ポリシーの適用など、Google Cloud ツールで有効にできるネットワーク機能の一部には、Kubernetes API を使用した追加の構成も必要です。
GKE ネットワーキングの詳細については、ネットワークの概要をご覧ください。
クラスタの可観測性
クラスタ管理のもう 1 つの重要な部分は、オブザーバビリティ ツールを構成して使用し、インフラストラクチャとアプリケーションの状態を把握し、アプリケーションの可用性と信頼性を維持することです。デフォルトでは、GKE クラスタは次のように構成されます。
- システムログ、監査ログ、アプリケーション ログを Cloud Logging に送信する。
- Cloud Monitoring にシステム指標を送信する。
- Google Cloud Managed Service for Prometheus を使用して、構成済みのサードパーティ指標とユーザー定義指標を収集し、Cloud Monitoring に送信する。Google Cloud Managed Service for Prometheus を使用すると、Prometheus を使用してワークロードのモニタリングとアラートを行うことができます。Prometheus を大規模に管理したり、手動で運用する必要はありません。
GKE には、収集したデータを使用するためのオブザーバビリティ機能も用意されています。これには、デフォルトとカスタムのダッシュボード、アラート、サービスレベル目標(SLO)モニタリング、ログ分析などがあります。
GKE のオブザーバビリティの設定と使用の詳細については、GKE のオブザーバビリティをご覧ください。
クラスタ セキュリティの構成
GKE には、クラスタで使用できる Google Cloud 固有のセキュリティ機能と Kubernetes セキュリティ機能が含まれています。IAM などの Google Cloud レベルのセキュリティは、Google Cloud コンソールを使用して管理できます。Kubernetes ロールベースのアクセス制御(RBAC)などのクラスタ内のセキュリティ機能を管理するには、Kubernetes API やその他のインターフェースを使用します。
GKE で利用できるセキュリティ機能については、セキュリティの概要およびクラスタ セキュリティの強化をご覧ください。GKE Autopilot クラスタは、これらのセキュリティ機能の多くを実装し、ベスト プラクティスを自動的に強化します。詳細については、GKE Autopilot のセキュリティ機能をご覧ください。
コストの最適化
GKE のツールを使用すると、クラスタの費用を表示し、課金対象の Google Cloud リソースを最大限に効率的に使用できます。CPU、メモリ、ディスク使用量の使用率指標をさまざまな時間スケールで表示し、これらの指標を使用してリソース使用量を最適化できます。たとえば、サイズ変更が必要な、十分に使用されていないクラスタや過剰に使用されているクラスタがある場合などです。また、自動スケーリングを使用してピーク時以外の時間帯にクラスタサイズを縮小したり、分析情報と推奨事項を使用してアイドル状態のクラスタやその他のベスト プラクティスを特定したりすることもできます。
GKE Enterprise を使用している場合は、指標を表示して、フリート全体と個々のチームの費用を最適化することもできます。
障害復旧の構成
サービス中断イベントの発生時に本番環境のワークロードの可用性を確保するには、障害復旧(DR)計画を準備する必要があります。 DR 計画の詳細については、障害復旧計画ガイドをご覧ください。
明示的に操作しない限り、Kubernetes 構成と永続ボリュームはバックアップされません。GKE クラスタで Kubernetes 構成と永続ボリュームのバックアップと復元を行うには、Backup for GKE を使用します。
次のステップ
- クラスタ構成オプションの詳細を確認する。
- クラスタ アーキテクチャと GKE コントロール プレーンの詳細については、GKE クラスタ アーキテクチャをご覧ください。
GKE の操作に使用するツールの詳細を確認します。
ステージング用のクラスタとワークロードを構成するチュートリアルで、ステージング用のクラスタとワークロードを設定する方法を学びます。