Skip to content

はじめに - マイグレーション概要

マイグレーションの要旨

  • Value Streamチームより、マイグレーションツールを提供します。
  • ユーザ自身で、ツールを使って環境(ステージング、プロダクション)ごとに v3に移行ください。
  • ツールが作成したCI/CDパイプラインをv3プラットフォームで実行し、デプロイするリソースの管理元をv2からv3に移管するところまでをマイグレーションとします。
  • (Qmonus SDK以外)マニフェスト/パラメータの変更を伴わないため、ユーザ影響はありません。
  • (Qmonus SDK)マニフェストの変更が必要なため、コンテナの作成・削除が伴います。
    • コンテナを作成してから古いコンテナを削除するため、 API影響はありません。
    • 一方で、Qmonus SDKのMasterのみ一時的に停止するため、 Masterに依存したWorkloadには影響があります。

おおまかな流れ

事前準備

  1. v3プロジェクトを申請する。
  2. v3コンソールよりマイグレーションツールをダウンロードする。
  3. (対象者のみ)お使いのKubernetesクラスタにValue Streamからのアクセスを許可する。
  4. (任意)チュートリアルを通してQmonus Value Stream v3を習熟する。
  5. マイグレーションツールを実行し、アプリケーション定義をv2からv3に移行する。
  • プロジェクト単位で一度だけ実行する。

Qmonus SDK以外のアプリケーション

ApiFront/Casvalを含む、Qmonus SDK以外のアプリケーションのマイグレーションの流れは以下の通りです。

  1. マイグレーションツールを実行し、環境ごとに用意していたQVS Configをマージして1つのQVS Configを生成する。
  2. マイグレーションツールを実行し、CI/CD設定をv2からv3に移行する(図① )。
  3. 生成されたQVS ConfigをアプリケーションリポジトリにCommit&Pushする。
  4. (環境ごとに実施)CI/CDで利用するSecret (Git Token、Google Cloud Service Accout、Kubeconfig) をValue Streamに登録する。
  5. (環境ごとに実施)マイグレーションツールを実行し、State移行を実施する(図②)。

Migration overview for non-Qmonus SDK

Qmonus SDKアプリケーション

Qmonus SDKアプリケーションのマイグレーションの流れは以下の通りです。 実行にあたり、Qmonus SDKアプリケーション専用の事前準備が必要です。

事前準備は以下の通りです。

  • QVS Configをv2の最新仕様に合わせる。
  • 必要なGoogle Cloudリソースを事前に準備する。

実際のマイグレーション手順は以下のとおりです。

  1. マイグレーションツールを実行し、環境ごとに用意していたQVS Configをマージして1つのQVS Configを生成する。
  2. マイグレーションツールを実行し、QVS Configをv3準拠 (Argo Rolloutを使うモデル) に更新する。
  3. マイグレーションツールを実行し、CI/CD設定をv2からv3に移行する(図① )。
  4. 生成されたQVS ConfigをアプリケーションリポジトリにCommit&Pushする。
  5. (環境ごとに実施)CI/CDで利用するSecret (Git Token、Google Cloud Service Accout、Kubeconfig) をValue Streamに登録する。
  6. (環境ごとに実施)マイグレーションツールを実行し、State移行を実施する(図②)。
  7. (環境ごとに実施)State移行用AssemblyLineを操作(approve)し、Kubernetesリソースモデルを変換する(図③)。

DANGER

上記の手順6, 7が、アプリケーションPodの削除を伴う危険工程です。手順1から5については、ユーザ影響がないため、事前に実施可能です。

Migration overview for Qmonus SDK

事後処理

マイグレーション事後の作業の流れは以下の通りです。

  1. (ステージングのみ)v3-migration branchのマージ
  2. (ステージングのみ)GitリポジトリのWebhook設定
  3. Pipelineのコード管理
  4. AssemblyLineのPromote設定