GKE 接続クラスタにデプロイする

このドキュメントでは、GKE 接続クラスタにアプリケーションをデプロイする方法について説明します。GKE 接続クラスタのサポートにより、AWS、Azure、オンプレミス クラスタへのデプロイが可能になります。

Cloud Deploy を使用すると、Connect Gateway を使用してアクセスできる GKE 接続クラスタにコンテナベースのワークロードをデプロイできます。

始める前に

  • デプロイ先のユーザー クラスタがある。

    クラスタは GKE 接続クラスタとして作成することも、既存の Kubernetes クラスタを登録することもできます。GKE 接続クラスタとして作成したクラスタは、自動的にメンバーシップを受け取ります。フリートに登録する既存のクラスタの場合は、登録時にメンバーシップ名を指定します。このメンバーシップ名は、ターゲットを構成するときに必要になります。

    Google Cloud CLI のバージョン 407.0.0 以降を使用している場合は、Google Kubernetes Engine クラスタを登録するときに、gcloud container fleet memberships register コマンド--install-connect-agent フラグを使用する必要があります。Connect エージェントはデフォルトでインストールされなくなりました。

  • 登録済みクラスタを Google Cloudに接続するように Connect Gateway を設定します。

    Cloud Deploy 実行サービス アカウントとして使用するサービス アカウントを使用して、ゲートウェイを設定してください。そうしないと、実行サービス アカウントにクラスタにデプロイするために必要な権限が付与されません。

GKE 接続クラスタにデプロイするために Cloud Deploy を設定する

  1. ターゲット構成を作成する

    ターゲットは、デリバリー パイプライン YAML で構成することも、別のファイルで構成することもできます。また、同じファイルで複数のターゲットを構成できますが、異なる kind: Target スタンザに配置する必要があります。

  2. 実行サービス アカウントに、ゲートウェイを介して接続されたクラスタとやり取りするために必要なロールを付与します。

    デフォルトの Cloud Deploy サービス アカウントを使用しているか、カスタム サービス アカウントを使用しているかにかかわらず、この権限は必須です。

  3. 基盤となる Kubernetes クラスタで、実行サービス アカウントRBAC を設定します。

  4. 省略可: 基盤となるクラスタが GKE クラスタでない場合は、クラスタが Artifact Registry から pull できるように imagePullSecret を構成する必要がある場合があります。

  5. ターゲット定義で、クラスタを指す anthosCluster スタンザを作成します。

    GKE 接続クラスタを指定する構文は次のとおりです。

    anthosCluster:
     membership: projects/[project_name]/locations/global/memberships/[membership_name]
    

    この GKE 接続クラスタのリソース ID では、次の要素が使用されます。

    • [project_name] は、このクラスタを実行している Google Cloud プロジェクトの名前です。

      GKE 接続クラスタを含むデプロイ先のクラスタは、デリバリー パイプラインと同じプロジェクトにある必要はありません

    • [membership_name] は、クラスタをフリートに登録したときに選択した名前です。

    location の場合、すべてのクラスタ メンバーシップは global であるため、このリソース識別子で /locations/global/ を変更する必要はありません。

ターゲット構成の例を次に示します。

      apiVersion: deploy.cloud.google.com/v1
      kind: Target
      metadata:
       name: qsdev
      description: development cluster
      anthosCluster:
       membership: projects/my-app/locations/global/memberships/my-app-dev-cluster

次のステップ