Anthos ユーザー クラスタにデプロイする

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

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

Google Cloud Deploy では、Connect ゲートウェイを使用してアクセスできる任意の Anthos ユーザー クラスタにコンテナベースのワークロードをデプロイできます。

始める前に

  • デプロイ先の Anthos ユーザー クラスタを用意する。

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

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

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

    Google Cloud Deploy 実行サービス アカウントとして使用されるのと同じサービス アカウントを使用してゲートウェイを設定してください。そうしないと、実行サービス アカウントに Anthos クラスタへのデプロイに必要な権限がありません。

Anthos にデプロイするために Google Cloud Deploy を設定する

  1. ターゲット構成を作成します。

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

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

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

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

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

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

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

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

    この Anthos リソース ID では、次の要素を使用します。

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

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

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

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

次に、Anthos ユーザー クラスタを指すターゲット構成の例を示します。

      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

次のステップ