Google Kubernetes Engine(GKE)では、Google Cloud ツール(Google Cloud CLI、Google Cloud コンソールなど)や API を使用してクラスタの構成と特性を設定できます。たとえば、クラスタの作成、更新、削除、ノードの追加、削除を行うことができます。また、Identity and Access Management を使用してクラスタにアクセスできるユーザーを制御します。
クラスタの内部動作を制御するには、Kubernetes API と kubectl
コマンドライン インターフェースを使用します。また、Google Cloud Console で、クラスタのさまざまな動作を構成できます。
基本的なクラスタ管理
基本的なクラスタ管理タスクは、Google Cloud 上の GKE クラスタに固有のタスクであり、通常は Kubernetes システムそのものは関与しません。これらのタスクは一貫して、Google Cloud コンソール、Google Cloud CLI、または GKE API を使用して行います。
クラスタとノードのアップグレード
デフォルトでは、クラスタとノードプールは自動的にアップグレードされます。アップグレードのタイミングなど、各クラスタでアップグレードを構成する方法については、アップグレードの仕組みをご覧ください。
クラスタレベルの構成
クラスタレベルの構成タスクとしては、GKE クラスタとノードの作成や削除などがあります。クラスタのメンテナンス タスクが発生するタイミングを制御し、クラスタレベルの自動スケーリングを構成できます。
ノード構成
GKE には、クラスタのノードについてさまざまなオプションが用意されています。たとえば、1 つ以上のノードプールを作成できます。ノードプールとは、共通の構成を共有する、クラスタ内のノードのグループのことです。クラスタには少なくとも 1 つのノードプールが必要です。クラスタを作成すると、default
という名前のノードプールが作成されます。
Standard クラスタでは、プールごとに次のような他のノード オプションを設定できます。
- 自動修復: Autopilot クラスタに適用
- Spot VM
- ローカル SSD
- 最小 CPU プラットフォーム
クラスタ モニタリングの構成
Google Cloud の Managed Service for Prometheus を使用して、Kubernetes アプリケーションとインフラストラクチャをモニタリングすることをおすすめします。
Managed Service for Prometheus は、Google Cloud の Prometheus 指標向けのフルマネージド マルチクラウド ソリューションです。Prometheus を大規模に手動で管理、運用することなく、Prometheus を使用してワークロードをモニタリングし、アラートを送信できるようになります。
Managed Service for Prometheus は、Prometheus エクスポータから指標を収集し、PromQL を使用してグローバルなデータクエリを可能にします。既存の Grafana ダッシュボード(PromQL ベースのアラート)とワークフローを引き続き使用できます。ハイブリッド クラウドとマルチクラウドに対応しており、Kubernetes ワークロードと VM ワークロードの両方をモニタリングできます。データは 24 か月間保持されます。また、アップストリームの Prometheus との互換性を維持するため、ポータビリティが維持されます。PromQL を使用すると Cloud Monitoring で 1,500 を超える無料の指標(無料の GKE システム指標など)をクエリし、Prometheus のモニタリングを補完することもできます。
クラスタ モニタリングの構成の詳細については、次のガイドをご覧ください。
クラスタ ネットワーキングの構成
クラスタ管理のもう一つの側面は、クラスタに対して各種のネットワーキング機能を有効にして制御することです。ほとんどのネットワーキング機能はクラスタの作成時に設定されます。したがって、Google Cloud インターフェースを使用してクラスタを作成する際に、使用するネットワーキング機能を有効にする必要があります。これらの機能の一部は、Kubernetes インターフェース(kubectl
コマンドライン インターフェースなど)でさらに構成が必要になる場合があります。
たとえば、GKE クラスタでネットワーク ポリシーの適用を有効にするには、Google Cloud コンソールまたは Google Cloud CLI を使用して、この機能を有効にする必要があります。その後、Kubernetes ネットワーク ポリシー API または kubectl
コマンドライン インターフェースを使用して、実際のネットワーク ポリシールールを指定します。Autopilot クラスタの場合、ネットワーク ポリシーはデフォルトで無効になっていますが、この機能を有効にすることもできます。
GKE でネットワーキング機能を有効にする方法については、次のガイドをご覧ください。
クラスタ セキュリティの構成
GKE には、クラスタで使用できる Google Cloud 固有のセキュリティ機能と Kubernetes セキュリティ機能が含まれています。IAM などの Google Cloud レベルのセキュリティは、Google Cloud コンソールを使用して管理できます。ロールベースのアクセス制御などのクラスタ内のセキュリティ機能を管理するには、Kubernetes API やその他のインターフェースを使用します。
GKE で利用できるセキュリティ機能については、セキュリティの概要およびクラスタ セキュリティの強化をご覧ください。GKE Autopilot クラスタは、これらのセキュリティ機能の多くを実装し、ベスト プラクティスを自動的に強化します。詳細については、GKE Autopilot のセキュリティ機能をご覧ください。
障害復旧の構成
サービス中断イベントの発生時に本番環境のワークロードの可用性を確保するには、障害復旧(DR)計画を準備する必要があります。DR 計画の詳細については、障害復旧計画ガイドをご覧ください。
明示的に操作しない限り、Kubernetes 構成と永続ボリュームはバックアップされません。GKE クラスタで Kubernetes 構成と永続ボリュームのバックアップと復元を行うには、Backup for GKE を使用します。