GKE Enterprise は、デベロッパーや組織(インフラストラクチャ オペレーターやワークロードのデベロッパーから、セキュリティ エンジニア、ネットワーク エンジニアまでを含む)が Google Cloud、パブリック クラウドおよびオンプレミス環境全般のクラスタ、インフラストラクチャ、ワークロードを管理するうえで有用な一連の機能を提供します。これらの機能はすべて、フリート(Kubernetes クラスタ、まとめて管理できる他のリソースの論理グループ)という考え方に基づいて構築されています。フリートは、フリート サービス(ハブサービスとも呼ばれる)によって管理されます。
このページでは、マルチクラスタ管理機能の拡張ポートフォリオについて解説し、フリートの管理を開始するためのリソースを提供します。
フリートの概要
通常、組織がコンテナやコンテナ オーケストレーション、サービス メッシュなどのクラウドネイティブ テクノロジーを利用していると、単一クラスタを実行しているだけでは不十分になってきます。技術やビジネスの目標を達成するために、組織はさまざまな理由から複数のクラスタをデプロイします。たとえば、本番環境と非本番環境の分離や、層、ロケール、チーム間でサービスの分離を行います。マルチクラスタ アプローチの利点とトレードオフについては、複数クラスタのユースケースをご覧ください。
GKE Enterprise と Google Cloud は、フリートのコンセプトを使用して、クラスタが存在するプロジェクトやクラスタで実行されるワークロードに関係なく、複数のクラスタの管理を簡素化します。たとえば、組織に 10 個の Google Cloud プロジェクトがあり、各プロジェクトに 2 つの GKE クラスタがあり、それらを使用して複数の異なる本番環境アプリケーションを実行しているとします。フリートを使用せずに本番環境全体でクラスタに変更を加える場合は、複数のプロジェクトの個々のクラスタで変更を行う必要があります。複数のクラスタをモニタリングする場合でも、プロジェクト間でコンテキストを切り替える必要がある場合があります。フリートを使用すると、クラスタを論理的にグループ化して正規化できるため、管理とオブザーバビリティを個々のクラスタからクラスタ グループ全体にレベルアップできます。フリートは 1 つのフリート ホスト プロジェクトで表示し、管理できます。
ただし、フリートは単なるクラスタのグループではありません。クラスタの境界を抽象化できるフリートベースの機能を有効にすることで、フリートを構築できます。たとえば、複数のクラスタにまたがって特定のチームに属するリソースを定義して管理したり、フリート全体に同じ構成を自動的に適用できます。
フリートは、Google Cloud 上の Google Kubernetes Engine クラスタのみで構成することも、Google Cloud 外部のクラスタを含めることもできます。
- フリートの仕組みの詳細と、フリート対応の機能の完全なリストについては、フリートの仕組みをご覧ください。
マルチクラスタ デプロイでフリートを使用する際の現在の制限事項と要件、および組織にフリートを実装する際の推奨事項については、フリートの要件とベスト プラクティスをご覧ください。
独自のシステムにフリートを実装するには、フリートの例でフリートを使用する架空のシナリオをご覧ください。
フリートの作成
フリートを作成するには、管理するクラスタを、選択したフリートホスト プロジェクトのフリートに登録する必要があります。一部のクラスタタイプはクラスタ作成時に自動的に登録されます。他のクラスタタイプは手動で登録する必要があります。この仕組みについて詳しくは、フリートの作成の概要をご覧ください。リンクされている手順に沿ってクラスタへのフリートの追加を開始できます。
Google Cloud の外部のクラスタをフリートに追加すると、クラスタに Connect Agent がインストールされ、クラスタと Google Cloud 間のコントロール プレーンの接続が確立されます。エージェントは、環境と Google の間にある NAT、下り(外向き)プロキシ、VPN、その他の相互接続を走査できます。Kubernetes クラスタとその API サーバーは、パブリック IP アドレスまたは外部に公開される IP アドレスを必要としません。Connect Agent の詳細については、Connect Agent の概要をご覧ください。
クラスタに対する認証
複数の環境にまたがるクラスタに対して、ユーザーとサービス アカウントの接続と認証を行うのは容易ではありません。フリートを使用すると、組織のデベロッパーと管理者全員に対し、クラスタへの一貫した安全な認証のための 2 つのオプションから選択できます。
Google Cloud ID: Google Cloud を ID プロバイダとして使用する場合、Connect Gateway はフリート上に構築され、コマンドラインから登録済みクラスタに接続してコマンドを実行するための一貫した方法を提供し、複数のクラスタにまたがって DevOps タスクを簡単に自動化します。このオプションを使用して接続する場合、ユーザーはクラスタに直接 IP 接続する必要はありません。詳細については、Connect Gateway ガイドをご覧ください。
サードパーティの ID: フリートは、既存のサードパーティ ID プロバイダ(Microsoft ADFS など)の使用もサポートしています。これにより、ユーザーが既存のサードパーティの ID とパスワードでログインできるようにフリート クラスタを構成できます。OIDC と LDAP プロバイダがサポートされています。詳細については、サードパーティの ID を使用して Connect Gateway を設定すると GKE Identity Service の概要をご覧ください。
どちらの方法でも、ユーザーはコマンドラインまたは Google Cloud コンソールからクラスタにログインできます。
Google Cloud コンソール
Google Cloud コンソールには、実行場所に関係なく、すべてのフリート クラスタを管理するための一元的なユーザー インターフェースが用意されています。フリートにクラスタを登録すると、ログインしてワークロードを表示、モニタリング、デバッグ、管理できます。
詳細を確認して開始するには、Google Cloud コンソールからクラスタを操作するをご覧ください。
フリート管理機能を使用できるユーザー
vCPU ごとの 1 回の課金で複数のエンタープライズとマルチクラスタ機能を有効にして使用する場合や、Google Cloud 外のクラスタをフリートに登録する場合は、GKE Enterprise を有効にする必要があります。方法については、GKE Enterprise を有効にするをご覧ください。
Google Cloud 上のクラスタの場合のみ、GKE クラスタをフリートに登録し、一部のエンタープライズ機能とマルチクラスタ機能を通常の GKE 料金に使用できます(追加料金はありません)。その後、マルチクラスタ Ingress や Cloud Service Mesh などの追加のエンタープライズ機能の料金を別途支払うことができます。
各オプションに含まれる機能の詳細については、GKE Enterprise のデプロイ オプション ページをご覧ください。
ユースケース
複数のクラスタの管理には課題もありますが、技術面およびビジネス面での目標を達成するために複数のクラスタをデプロイすべき場合も数多くあります。詳細については、マルチクラスタのユースケースをご覧ください。
次のステップ
- フリートの詳細については、フリートの仕組みをご覧ください。
- フリート リソースを計画するで、クラスタをフリートに編成する方法の計画を開始します。
- フリートに機能を追加する際のベスト プラクティスについては、フリートの機能を計画するをご覧ください。
- フリートの作成の概要に沿ってフリートの作成を開始します。