Cloud Deploy の用語

このドキュメントで使用する用語は、Cloud Deploy での使用方法に従って定義されています。

破棄

リリースを完全に無効にすること。

Application(アプリケーション)

Cloud Deploy を使用してデプロイするソフトウェア。

アプリケーションの配信

アプリケーションを目的のターゲット環境にデプロイするために必要なアセットの配信。Cloud Deploy では、アプリケーションの配信は、アプリケーションの Kubernetes マニフェストの生成、昇格、クラスタへの配信で構成されます。

アーティファクト

デプロイされるコンテナ イメージ(ビルド アーティファクト)と、デプロイに使用されるマニフェストや Skaffold 構成などの構成ファイル(ターゲット アーティファクト)。

自動化

自動化を使用すると、デリバリー パイプラインとターゲットを構成して、人手を介さずにそのパイプラインのリリースとロールアウトに対して一部のアクションを実行できます。たとえば、適切な状況下で特定のターゲットへのプロモーションが自動的に行われるように、デリバリー パイプラインを設定できます。詳細

自動化ルール

自動化の動作は、自動化ルールの一部で定義されます。自動化ルールでは、リリースをプロモートさせるなど、自動化の内容を定義します。

利用可能な自動化ルールについては、自動化ルールの使用のドキュメントをご覧ください。

自動化の実行

自動化のインスタンス。

カナリア デプロイ

変更をまず一部のユーザーにロールアウトし、信頼性を確認してテストしてから、完全にロールアウトするデプロイ戦略。

子ロールアウト

並行デプロイで、子ターゲットへのデプロイ用に生成されるロールアウト。

コントローラのロールアウトもご覧ください。

子ターゲット

並行デプロイで、同時にデプロイする複数の GKE、GKE Enterprise、Cloud Run の個々のターゲットのいずれかを表すターゲット。

マルチターゲット並行デプロイ子ロールアウトもご覧ください。

継続的デリバリー

変更を安全かつ頻繁かつほぼ自動的にユーザーにリリースするソフトウェア エンジニアリング手法

継続的デプロイ

コードと構成の変更が自動的にデプロイされるソフトウェア エンジニアリング手法。

継続的デリバリーでは 1 つ以上のステージで手動の承認が必要ですが、継続的デプロイは自動的に行われ、手動の承認は必要ありません。

コントローラのロールアウト

並行デプロイ用に生成されたロールアウト。コントローラのロールアウトは、単一のターゲット クラスタまたはサービスにデプロイするために使用されません。代わりに、子ターゲットごとに 1 つの子ロールアウトがあります。

並行デプロイマルチターゲットもご覧ください。

カスタム ターゲット

サポートされているターゲット タイプのいずれかでもなく、ユーザー定義のカスタム ターゲット タイプを使用するターゲット。

宣言型

目的の状態を記述し、その状態を達成するためにそのシステムに依存するシステム(Kubernetes クラスタなど)の構成。宣言型の構成とは対照的に、その状態を達成するための具体的な手順を記述します。

Cloud Deploy は、宣言型 Kubernetes マニフェストのレンダリングとデプロイに加えて、宣言型リソース定義を使用してレンダリングと配信プロセスを定義します。skaffold.yamlclouddeploy.yaml は、Skaffold 定義とデリバリー パイプライン定義の一般的なファイル名です。

デリバリー パイプライン

デプロイの進行中に各ターゲットにアプリケーションを配信するワークフローを表します。

Cloud Deploy のドキュメントでは、「デリバリーパイプライン」という用語を使用して、CI パイプラインなど、使用する他のパイプラインと区別しています。

Cloud Deploy では、デリバリー パイプラインは YAML 構成ファイル(通常は clouddeploy.yaml)で定義されており、その定義は次の要素で構成されています。

  • デプロイ ターゲット
  • これらのターゲット間の昇格シーケンス

パイプライン インスタンスもご覧ください。

デプロイフック

デプロイの前後に実行できる任意のアクション詳細

パラメータをデプロイする

マニフェストに追加できるものの、レンダリングの一環として解決されないプレースホルダ。代替措置として、これらのプレースホルダの値は、各ターゲット固有のマニフェストがレンダリングされた後に割り当てられます。詳細

デプロイ戦略

ユーザーへの影響を最小限に抑えながら、アプリケーションに変更を安全にデプロイする手法。

実行環境

Cloud Deploy が実行される一連の Google Cloud リソース。構成は次のとおりです。

  • Cloud Deploy がレンダリングとデプロイ アクションを実行するデフォルトまたはプライベートのワーカープール

  • デフォルトまたは代替の実行環境サービス アカウント。Cloud Deploy を呼び出して、レンダリングとデプロイを実行します

  • レンダリングされたマニフェストのデフォルトの保存場所または代替の保存場所。

ハイドレート

レンダリングをご覧ください。

Job

ロールアウト時に実行される特定のオペレーション(デプロイ、検証など)。 詳細

ジョブ実行

ロールアウトの子リソースで、ジョブ実行はジョブのインスタンスです。つまり、デプロイや検証などのジョブの実行を表します。 詳細

マニフェスト

Pod、Deployment、Service、Ingress などの Kubernetes リソースの作成、変更、削除に使用される Kubernetes 構成オブジェクト。

Cloud Deploy のマニフェストは、レンダリングされているか、レンダリングされていないかのいずれかの状態で存在します。レンダリングされていないマニフェストは、ターゲットにデプロイする準備ができていません。多くの場合、マニフェストへの特定の値の入力などを行うレンダリング プロセスは、Helm、Kustomize、kpt などのツールによって実行されます。Cloud Deploy は Skaffold を使用して、構成のレンダリング(skaffold render コマンド)をオーケストレートします。

レンダリングもご覧ください。

マルチターゲット

並行デプロイを構成または実施する場合、マルチターゲットは単一のパイプライン ステージですが、複数のターゲット ランタイムを含めることができます。

子ターゲット並行デプロイコントローラのロールアウトもご覧ください。

並行デプロイ

同じデリバリー パイプライン ステージで同時に複数のターゲットにアプリケーションをデプロイすること。この手法で、たとえば本番環境内の複数のクラスタやサービスにデプロイできます。

フェーズ

論理的にグループ化された、ロールアウト内のオペレーション(ジョブ)のコレクション(デプロイ、デプロイと検証など)。 詳細

Pipeline(パイプライン)

デリバリー パイプラインをご覧ください。

パイプライン インスタンス

release の作成時に取得されるデリバリー パイプラインのスナップショット。Cloud Deploy は、このスナップショットを保持して、release の作成時に定義されたパイプラインを使用してリリースのすべてのデプロイが一貫して管理されるようにします。

詳細については、リリースあたりのパイプライン インスタンスをご覧ください。

パイプラインの不一致

リリースの作成後にデリバリー パイプラインまたはターゲットが変更された場合、release に関連付けられたパイプライン インスタンスはパイプラインの定義とは異なります。

パイプラインの不一致がある場合、Cloud Deploy は、リリースを昇格するか、ロールバックする前に、定義を調べるように促します。

詳細については、リリースあたりのパイプライン インスタンスをご覧ください。

進行状況

あるターゲットから別のターゲットへの昇格シーケンスを記述する構成(デリバリー パイプラインの構成ファイル内)。たとえば、test から staging から prod など。

Promotion

デリバリー パイプラインで定義された進行状況に従って、リリースを 1 つのターゲットから別のターゲットに進めるプロセス。

登録

アプリケーションを Cloud Deploy サービスにデリバリー パイプラインの形式で提供して、アプリケーションの配信がサービスによって管理されるようにします。

リリース

デプロイする変更(コード、構成、またはその両方)を表す Cloud Deploy リソース。

リリース ライフサイクルについては、Cloud Deploy サービス アーキテクチャのドキュメントをご覧ください。

レンダリング

ターゲットにデプロイするマニフェストを準備すること。マニフェストのレンダリングは、主にマニフェストの変数に値を指定することです。Cloud Deploy では、skaffold render を使用してこれを行います。

リリース

リリースをデプロイ ターゲットに関連付けるリソース。rollout は各ターゲットのリリースごとに作成されるため、デリバリー パイプラインの 3 つのターゲットを単純な構成にすると、リリースに 3 つの rollout リソース(ターゲットごとに 1 つ)が作成されます。

カナリア デプロイ戦略を使用するなど、より複雑なデプロイの場合は、rollout が複雑になる可能性があります。詳細

標準のデプロイ戦略

標準のデプロイ戦略は、アプリケーションをターゲットにデプロイするデフォルトの方法です。デリバリー パイプラインで定義されたステージごとに、アプリケーションがターゲットに完全にデプロイされます。このとき、以前にデプロイされたアプリケーションが置き換えられます。

ステージ

デリバリー パイプラインの 1 つのターゲットまたはマルチターゲット。たとえば、以下のステージを持つシンプルなデリバリー パイプライン内です。

  • dev
  • staging
  • prod

それぞれが 1 つのステージです。

並行デプロイを実行する場合、マルチターゲットは単一のステージですが、子ターゲットは個別のステージではありません。

(デリバリー パイプラインの)停止

特定のデリバリー パイプラインからのリリースの作成と昇格を止めること。詳細については、デリバリー パイプラインの一時停止をご覧ください。

ターゲット

アプリケーションをデプロイする特定のランタイム環境(Kubernetes クラスタ、Cloud Run サービス、その他のサポートされているランタイム)。また、その環境の構成も確認します。

ターゲットは、デリバリー パイプラインの構成ファイルまたは別のファイルで定義できます。

ターゲットは、配信パイプラインと同じプロジェクトとリージョンで定義する必要があります。ただし、ターゲットがデプロイされるランタイムは、異なるプロジェクトとリージョンに存在できます。

ターゲットは並行デプロイをサポートするマルチターゲットまたは子ターゲットになることもあります。

ターゲット アーティファクト

ターゲットへのアプリケーションのレンダリングとデプロイに使用される構成ファイル。これには、Kubernetes マニフェストまたは Cloud Run サービス定義、Skaffold 構成ファイル、これらの作成に使用されるレンダリング ソースが含まれます。

検証

任意のコンテナをテストで実行して、デプロイが成功したことを確認する機能。デプロイ検証の詳細