Google Kubernetes Engine クラスタにデプロイする

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

このドキュメントでは、アプリケーションを Google Kubernetes Engine クラスタにデプロイする方法について説明します。

Google Cloud Deploy を使用すると、コンテナベースのワークロードを任意の Google Kubernetes Engine クラスタにデプロイできます。GKE ターゲットにデプロイすると、すべての Google Cloud Deploy 機能がサポートされます。

始める前に

この skaffold.yaml ファイル内の deploy スタンザには kubectl が含まれています。これは、Skaffold がレンダリングして Kubernetes(GKE)にデプロイしていることを示します。また、このアプリケーションに使用するマニフェストもその下に表示されます。

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

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

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

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

gke:
 cluster: projects/[project_name]/locations/[location]/clusters/[cluster_name]

この GKE リソース ID は次の要素を使用しています。

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

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

  • [location] は、クラスタが作成されたリージョンです。

  • [cluster_name] は、クラスタの作成時に付けられた名前です。

    この名前は、Google Cloud コンソールのプロジェクトのクラスタのリストで確認できます。

    Google Cloud コンソールのクラスタのリスト

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

      apiVersion: deploy.cloud.google.com/v1
      kind: Target
      metadata:
       name: dev
      description: development cluster
      gke:
       cluster: projects/my-app/locations/us-central1/clusters/my-app-dev-cluster

Skaffold 構成を作成する

このセクションでは、GKE クラスタにデプロイするときに使用する単純な Skaffold 構成の例を示して説明します。

GKE クラスタにデプロイする skaffold.yaml ファイルのを次に示します。

apiVersion: skaffold/v3alpha1
kind: Config
metadata:
  name: gke-application
deploy:
  kubectl:
    manifests:
      - [MANIFEST]

Google Cloud Deploy で Skaffold を使用するでは、デリバリー パイプラインで Skaffold を使用する方法について詳しく説明しています。

Kubernetes マニフェストを準備する

アプリケーションを GKE にデプロイするには、Google Cloud Deploy に 1 つ以上の Kubernetes マニフェストを指定します。このマニフェストをレンダリングしてから、アプリケーションをデプロイするターゲット クラスタに適用します。

マニフェストがない場合は、Google Cloud Deploy デリバリー パイプラインを使用してデプロイを試みる前に、マニフェストを作成してください。

Kustomize または Helm を使用して、マニフェストを作成できます。マニフェストをテンプレート化し、レンダリングする必要がある場合は、Kustomize または Helm を使用することもできます。

すべてを組み合わせる

Kubernetes マニフェスト、skaffold.yaml 構成、Google Cloud Deploy ターゲット定義を作成し、Google Cloud Deploy リソースとしてターゲットを登録したため、デリバリー パイプラインを呼び出して、リリースを作成し、パイプラインで定義されたターゲットの進行状況に沿って進めることができます。

次のステップ