このページでは、管理者向けに GKE クラスタ管理の概要を説明します。
GKE でワークロードを実行している場合、これらのタスクのほとんどは実施する必要がない可能性があります。GKE へのワークロードのデプロイについては、ワークロードのデプロイをご覧ください。
このページを読む前に、次の項目と Kubernetes の基本コンセプトを理解しておく必要があります。
使用するツール
管理者は、さまざまなツールを使用して GKE クラスタの操作を行います。
クラスタの構成と全体的な特性を制御するには、Google Cloud CLI や Google Cloud コンソールといった Google Cloud のツールと API を使用します。たとえば、クラスタの作成、更新、表示、削除を行ったり、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 プロバイダを使用して行います。
クラスタとノードのアップグレード
デフォルトでは、クラスタとノードは自動的にアップグレードされます。アップグレードのタイミングなど、各クラスタでアップグレードを構成する方法については、Standard クラスタのアップグレードをご覧ください。
クラスタレベルの構成
クラスタレベルの構成タスクとしては、GKE クラスタとノードの作成や削除などがあります。クラスタのメンテナンス タスクが発生するタイミングなど、一部のクラスタ設定を更新することもできます。
クラスタ構成の詳細については、クラスタ構成の選択肢についてをご覧ください。
ノード構成
クラスタに Autopilot を使用する場合、GKE がノードを構成するため、ノード構成を考慮する必要はありません。Autopilot クラスタノードはすべて GKE によって完全に管理され、すべて同じノードのオペレーティング システム(OS)cos_containerd
を使用します。
ただし、クラスタで Standard モードを使用する必要がある場合、GKE ではクラスタのノードにさまざまなオプションを利用できます。たとえば、1 つ以上のノードプールを作成できます。ノードプールとは、共通の構成を共有する、クラスタ内のノードのグループのことです。クラスタには少なくとも 1 つのノードプールが必要です。クラスタを作成すると、デフォルトでは default
という名前のノードプールが作成されます。GKE でのノードプールの管理の詳細については、ノードプールの追加と管理をご覧ください。
Standard クラスタのその他のノード構成オプションには、デフォルト以外の OS の選択、エフェメラル Spot 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 の操作に使用するツールの詳細を確認する。
ステージング用のクラスタとワークロードを構成するのチュートリアルで、ステージング用のクラスタとワークロードを設定する方法を確認する。