Cloud Deploy の用語

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

破棄

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

Application(アプリケーション)

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

アプリケーションの配信

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

アーティファクト

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

自動化

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

自動化ルール

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

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

自動化の実行

自動化のインスタンス。

カナリア デプロイ

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

子ロールアウト

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

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

子ターゲット

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

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

継続的デリバリー

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

継続的デプロイ

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

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

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

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

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

カスタム ターゲット

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

宣言型

目的の状態を記述し、そのシステムに依存してその状態を達成する Kubernetes クラスタなどのシステムの構成。命令型構成の場合は、その状態を達成するための具体的な手順を記述します。

宣言型 Kubernetes マニフェストのレンダリングとデプロイに加えて、Cloud Deploy では宣言型リソース定義を使用してレンダリングと配信のプロセスを定義します。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 のマニフェストは、レンダリングとレンダリングの 2 つの状態のいずれかになります。レンダリングされていないマニフェストは、ターゲットにデプロイする準備ができていません。多くの場合、マニフェストへの特定の値の入力などを行うレンダリング プロセスは、Helm、Kustomize、kpt などのツールによって実行されます。Cloud Deploy では、Skaffold を使用して構成のレンダリングをオーケストレートします(skaffold render コマンド)。

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

マルチターゲット

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

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

並行デプロイ

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

フェーズ

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

Pipeline(パイプライン)

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

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

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

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

パイプラインの不一致

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

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

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

進行状況

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

Promotion

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

登録

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

リリース

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

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

レンダリング

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

リリース

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

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

標準のデプロイ戦略

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

ステージ

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

  • dev
  • staging
  • prod

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

並行デプロイを行う場合、multi-targetは単一のステージですが、子ターゲットは別々のステージではありません。

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

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

ターゲット

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

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

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

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

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

検証

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