このトピックでは、サービスを中断することなく、ワークロードをセルフマネージドKubernetesクラスターからContainer Service for Kubernetes (ACK) クラスターに移行する方法について説明します。
移行スキーム
手順
ACKクラスターを作成および設定します。
O&MエンジニアはACKクラスターを作成し、クラスターリソースを設定します。 これにより、開発者のアプリケーション移行が簡素化されます。 詳細については、「ACK管理クラスターの作成」をご参照ください。
ACKクラスターを作成するときは、次の設定項目が必要です。
クラスタータイプ: ACK Proクラスターを作成することを推奨します。 ACK Proクラスターの制御プレーンはACKによって管理されます。 ワーカーノードのみを作成および管理する必要があります。 ワーカーノードで使用されているリソースに対してのみ課金されます。
オペレーティングシステム: 要件に基づいてオペレーティングシステムを選択します。
デフォルトでは、CentOS 7.6またはAliyun Linux 2.1903が選択されています。 デフォルト設定を使用することを推奨します。
デフォルトのシステムカーネルが要件を満たさない場合は、カスタムイメージを使用できます。 詳細については、「カスタムイメージを使用したACKクラスターの作成」をご参照ください。
VPC: ACKクラスター用の仮想プライベートクラウド (VPC) とvSwitchを選択します。
SNAT: VPCのSNATエントリを設定します。
パブリックアクセス: elastic IPアドレス (EIP) を使用して、ACKクラスターのAPIサーバーを公開します。
CloudMonitorエージェント: ACKクラスターのElastic Compute Service (ECS) インスタンスにCloudMonitorエージェントをインストールします。
Simple Log Service: ACKクラスターにSimple Log Serviceエージェントをインストールして設定します。
データを移行します。
database の移行。
ApsaraDB RDSインスタンスを作成します。
指定されたIPアドレスのみがApsaraDB RDSインスタンスにアクセスできるように、データベースのホワイトリストを設定します。
PrivateZoneを設定します。
PrivateZoneを使用して、データベースのドメイン名をApsaraDB RDSインスタンスのIPアドレスに解決します。 これにより、アプリケーションのデータベース構成を変更する必要がなくなります。
自己管理KubernetesクラスターのMySQLデータベースのデータを移行します。
Data Transmission Service (DTS) を使用して、MySQLデータベースからApsaraDB RDSインスタンスに完全同期、増分同期、または双方向同期モードでデータを移行します。 詳細については、「自己管理型MySQLデータベースからApsaraDB RDS For MySQLインスタンスへのデータの移行」をご参照ください。
データを移行します。
Object Storage Service (OSS) を有効化します。
OSS バケットを作成します。
自己管理Kubernetesクラスターに保存されているデータを移行します。
ossimportツールを使用して、オンプレミスサーバーまたはサードパーティのクラウドストレージサービスからOSSにデータをバッチで移行します。 たとえば、Amazon Simple storage service (S3) 、Microsoft Azure、Tencent cloud Object Storageなどのサードパーティのクラウドストレージサービスを選択できます。 詳細については、「概要」をご参照ください。
イメージの移行
Container Registryリポジトリを作成します。
作成したContainer Registryリポジトリへのアクセスに使用する資格情報を設定します。
自己管理型Kubernetesクラスターのイメージを移行します。
image-syncerツールを使用して、自己管理KubernetesクラスターのイメージをContainer Registryリポジトリに移行できます。 詳細については、「image-syncerを使用したコンテナーイメージの移行」をご参照ください。
アプリケーション設定を移行します。
O&Mエンジニアまたは開発者は、クラスターまたはアプリケーション構成を移行します。 詳細については、「外部KubernetesクラスターからACKクラスターへのアプリケーションの移行」をご参照ください。
回帰テストを実行します。
テストエンジニアは、オンラインビジネスを中断することなく、ACKクラスターで回帰テストを実行します。
回帰テストのドメイン名を設定します。
アプリケーションをテストします。
ログに記録されたアプリケーションイベントを確認します。
アプリケーションのモニタリングメトリックを確認します。
すべてのトラフィックをACKに切り替えます。
O&Mエンジニアは、ドメインネームシステム (DNS) 設定を変更して、トラフィックをACKクラスターに切り替えます。
DNSサービスを使用する: DNS設定を変更してトラフィックを切り替えます。
クライアントの設定またはコードを更新して、トラフィックを切り替えます。
自己管理型Kubernetesクラスターをアンデプロイします。
O&Mエンジニアは、ACKクラスターに期待どおりにアクセスできるかどうかを確認します。 次に、O&Mエンジニアが自己管理Kubernetesクラスターのデプロイを解除します。
ACKクラスターが期待どおりにトラフィックを送受信できるかどうかを確認します。
自己管理型Kubernetesクラスターをアンデプロイします。
アプリケーションの移行時に作成されたOSSバケットに保存されているバックアップファイルを消去します。