バックアップセンターを使用して、ディザスタリカバリのためにContainer Service for Kubernetes (ACK) クラスターのアプリケーションをバックアップおよび復元できます。
制限事項
バックアップセンターがアプリケーションをバックアップするとき、削除されているリソースはバックアップされません。
Kubernetes 1.16を実行するACKクラスターのみがバックアップセンターをサポートしています。 KubernetesバージョンのACKクラスターを更新する方法の詳細については、「ACKクラスターの手動アップグレード」をご参照ください。
デフォルトでは、ディスクをバックアップするためにECS (Elastic Compute Service) スナップショットが作成されます。 Kubernetes 1.18以降を実行し、CSIを使用するACKクラスターのみがECSスナップショットをサポートします。 クラスターが要件を満たしていない場合は、Cloud Backupを使用します。
前提条件
migrate-コントローラがインストールされ、権限が付与されます。 詳細については、「migrate-controllerのインストールと権限の付与」をご参照ください。
ディスクスナップショットを作成してボリュームをバックアップするには、CSI 1.1.0以降をインストールする必要があります。 CSIプラグインのインストール方法の詳細については、「CSIプラグインの管理」をご参照ください。
CNFSが管理するFile Storage NAS (NAS) ボリュームにバックアップを復元するには (StorageClassをalibabacloud-cnfs-nasに設定して) 、最初にStorageClassを作成する必要があります。 詳細については、「CNFSを使用したNASファイルシステムの管理 (推奨) 」をご参照ください。
課金
バックアップセンター機能は無料です。 ただし、この機能を使用すると、次の関連サービスに対して課金される場合があります。
OSS: OSSバケットは、関連するYAMLファイルなど、クラスターのバックアップファイルを保存するために使用されます。 OSSの課金の詳細については、「課金の概要」をご参照ください。
ディスクスナップショット: Alibaba Cloudディスクを使用するボリュームのバックアップに使用されます。 課金の詳細については、「スナップショット」をご参照ください。
説明2023年10月12日の11:00 (UTC + 8) 以降、インスタントアクセス機能のストレージ料金と機能使用料金は課金されなくなります。 詳細については、「インスタントアクセス機能の使用」をご参照ください。
PL0拡張SSD (ESSD) 、PL1 ESSD、PL2 ESSD、PL3 ESSD、またはESSD AutoPLディスクを使用している場合、バックアップ中に作成されたスナップショットのインスタントアクセス機能はデフォルトで有効になっています。
クラウドバックアップ: ディスクボリューム以外のボリュームタイプからデータをバックアップするために使用されます。 クラウドバックアップ側で作成されたコンテナーバックアップボルトのストレージ使用量に対して課金されます。 詳細については、「」をご参照ください。
ステップ1: バックアップコンテナーの作成
ACKクラスターでアプリケーションをバックアップすると、バックアップファイルはObject Storage Service (OSS) バケットに保存されます。 バックアップタスクを作成するときに使用できるバックアップコンテナーがない場合は、手順1の操作を実行する必要があります。
ACKクラスターのリージョンにバックアップコンテナーを1つだけ作成する必要があります。 ACKクラスターはバックアップコンテナーを共有できます。
既存のバックアップコンテナーは更新できません。 既存のバックアップコンテナーは削除のみ可能です。 削除されたバックアップコンテナーと同じ名前のバックアップコンテナーを作成した場合、作成したバックアップコンテナーは、アプリケーションバックアップ機能を使用しているクラスターでは使用できません。
ACKコンソールにログインします。 左側のナビゲーションウィンドウで、 を選択します。
バックアップセンターページでバックアップコンテナーの作成をクリックします。
バックアップコンテナーの作成パネル、パラメータを設定し、OKをクリックします。
パラメーター
説明
Vault名
バックアップボールトの名前。 名前には小文字と数字を使用できます。
OSSバケットリージョン
使用するOSSバケットがデプロイされているリージョン。
OSSバケット名
OSS バケットの名前。
ACKマネージドクラスターを使用する場合、この手順を実行する前にOSSバケットを作成する必要があります。 OSSバケットの名前はcnfs-oss **** 形式である必要があります。
OSSバケットサブディレクトリ
OSSバケットのサブディレクトリ。 このパラメーターはオプションです。
可視スコープ
他のユーザーに対するバックアップコンテナーの表示。 有効な値:
バックアップボールトは、Alibaba Cloudアカウントと作成者にのみ表示されます。
バックアップボールトは、Alibaba CloudアカウントとRAMユーザーに表示されます。
ステップ2: バックアップ計画を作成するか、即座にバックアップする
バックアップ計画の作成: バックアップ計画が削除されるまで、バックアップサイクルに基づいて定期的にバックアップタスクが作成されます。 バックアップサイクルを指定して、システムが一定の間隔で、または毎日、週、または月のスケジュールされた時間にバックアップタスクを作成できるようにすることができます。
即座にバックアップ: システムは、現時点でアプリケーションをバックアップするためのバックアップタスクを作成します。
バックアップ計画を作成するか、即座にバックアップを選択すると、バックアップタスクがACKクラスターに発行されます。 バックアップタスクのステータスは、[バックアップレコード] タブに表示されます。
バックアップスケジュールの作成
クラスターページで、管理するクラスターの名前をクリックし、 左側のナビゲーションウィンドウに表示されます。
バックアップサービスコンポーネントがインストールされているかどうかが自動的に確認されます。 そうでない場合は、ページの指示に従ってバックアップサービスコンポーネントをインストールします。 登録済みクラスターまたはACK専用クラスターを使用する場合は、権限も設定する必要があります。 詳細については、「migrate-controllerのインストールと権限の付与」をご参照ください。
[アプリケーションバックアップ] ページで、[バックアップ計画の作成] をクリックします。 [バックアップ計画の作成] パネルでパラメーターを設定し、[OK] をクリックします。
説明バックアッププラン名には、小文字と数字を使用できます。 スペース文字は使用できません。
バックアップ計画には複数の名前空間を選択できます。
指定できるバックアップラベルは1つだけです。
ディスクスナップショットは、Alibaba Cloudのスナップショットテクノロジーによって強化されています。 Cloud Backupは、高性能、安全、コスト効率、および完全にホストされたクラウドバックアップおよびストレージサービスです。
Linux crontab式を使用して、バックアップサイクルを指定したり、バックアップ間隔を指定したりできます。
パラメーター
説明
名前
バックアップ計画の名前。 This parameter is required.
バックアップボールト
使用するバックアップコンテナーを選択します。 This parameter is required.
名前空間の選択
Include: バックアップ名前空間で指定された名前空間でアプリケーションをバックアップします。 指定された名前空間が削除された場合、名前空間内のアプリケーションはバックアップされません。
除外: バックアップ名前空間で指定された以外の名前空間でアプリケーションをバックアップします。 新しく作成された名前空間のアプリケーションもバックアップされます。
説明[名前空間の選択] パラメーターは、バックアッププランでのみ使用できます。 即座にバックアップすることを選択した場合、Includeモードのみがサポートされます。
バックアップ名前空間
1つ以上の名前空間を選択できます。 選択した名前空間のアプリケーションがバックアップまたはスキップされます。 This parameter is required.
説明kube-system、kube-publish、kube-node-lease、およびcsdr名前空間は、クラスターに強く依存しています。 バックアップおよび復元機能は、これらの名前空間には適していません。 したがって、これらの名前空間でアプリケーションをバックアップすることはできません。
バックアップサイクル
crontab式を入力します。 バックアップサイクルを指定する必要があるのは、バックアップ計画を作成するときだけです。 詳細については、「」をご参照ください。バックアップ計画を作成するときにバックアップサイクルを指定するにはどうすればよいですか?
ボリュームバックアップ
アプリケーションが使用するボリュームのデータをバックアップするかどうかを指定します。
[有効化] を選択した場合、ECSスナップショットが作成されるか、クラウドバックアップを使用してボリューム内のデータをバックアップします。
ディスクボリューム: デフォルトでは、ディスクボリュームをバックアップするためにECSスナップショットが作成されます。
その他のタイプのボリューム: クラウドバックアップが使用されます。
復元プロセス中に、データはECSスナップショットまたはクラウドバックアップから新しいディスクボリュームに復元されます。
重要ボリュームバックアップを有効にせず、バックアップリストから永続ボリューム (PV) および永続ボリュームクレーム (PVC) を除外していない場合は、PVおよびPVCのYAMLファイルのみがバックアップされます。 ボリュームに格納されたデータはバックアップされません。 YAMLファイルには、ディスクIDやNASサーバー情報など、基になるストレージ情報が含まれています。 復元プロセス中に、静的にプロビジョニングされたボリュームを作成することにより、PVおよびPVCはYAMLファイルから復元されます。
ラベル
ラベルを指定します。 このラベルを持つアプリケーションはバックアップされます。
リソースの指定
コンマ (,) で区切った1つ以上のリソースオブジェクト名を指定します。 例:
deploy, configmap
指定されたKubernetesリソースのみがバックアップされます。除外リソース
バックアップタスクから除外する1つ以上のKubernetesリソースを指定し、コンマ (,) で区切ることができます。 例:
podまたはSecret
除外されたリソースはバックアップされません。購入期間
バックアップの有効期間。 期限切れのバックアップは復元できません。 有効な値: 1 ~ 65536 単位:日
次に何をすべきか
[アプリケーションバックアップ] ページの [バックアッププラン] タブで、バックアッププランの [操作] 列の [バックアップレコードの表示] をクリックして、バックアップレコードを表示できます。 [ステータス] 列に [完了] が表示された場合、バックアップが作成されます。
[アプリケーションバックアップ] ページの [バックアップ計画] タブで、バックアップ計画の [操作] 列の [編集] をクリックして、バックアップ名前空間とバックアップサイクルを変更できます。
即座にバックアップ
On theクラスターページで、管理するクラスターの名前をクリックし、 左側のナビゲーションウィンドウに表示されます。
バックアップサービスコンポーネントがインストールされているかどうかが自動的に確認されます。 そうでない場合は、ページの指示に従ってバックアップサービスコンポーネントをインストールします。 登録済みクラスターまたはACK専用クラスターを使用する場合は、権限も設定する必要があります。 詳細については、「migrate-controllerのインストールと権限の付与」をご参照ください。
[アプリケーションバックアップ] ページで、[今すぐバックアップ] をクリックします。 [今すぐバックアップ] パネルでパラメーターを設定し、[OK] をクリックします。
説明タスク名には、小文字と数字を使用できます。 スペース文字は使用できません。
1つ以上の名前空間を選択して、アプリケーションをバックアップできます。
指定できるバックアップラベルは1つだけです。
ディスクスナップショットは、Alibaba Cloudのスナップショットテクノロジーによって強化されています。 Cloud Backupは、高性能、安全、コスト効率、および完全にホストされたクラウドバックアップおよびストレージサービスです。
パラメーター
説明
名前
リアルタイムバックアップタスクの名前。 This parameter is required.
バックアップボールト
使用するバックアップコンテナーを選択します。 This parameter is required.
バックアップ名前空間
1つ以上の名前空間を選択できます。 選択した名前空間のアプリケーションがバックアップまたはスキップされます。 This parameter is required.
説明kube-system、kube-publish、kube-node-lease、およびcsdr名前空間は、クラスターに強く依存しています。 バックアップおよび復元機能は、これらの名前空間には適していません。 したがって、これらの名前空間でアプリケーションをバックアップすることはできません。
ボリュームバックアップ
アプリケーションが使用するボリュームのデータをバックアップするかどうかを指定します。
[有効化] を選択した場合、ECSスナップショットが作成されるか、クラウドバックアップを使用してボリューム内のデータをバックアップします。
ディスクボリューム: デフォルトでは、ディスクボリュームをバックアップするためにECSスナップショットが作成されます。
その他のタイプのボリューム: クラウドバックアップが使用されます。
復元プロセス中に、データはECSスナップショットまたはクラウドバックアップから新しいディスクボリュームに復元されます。
重要ボリュームバックアップを有効にせず、バックアップリストから永続ボリューム (PV) および永続ボリュームクレーム (PVC) を除外していない場合は、PVおよびPVCのYAMLファイルのみがバックアップされます。 ボリュームに格納されたデータはバックアップされません。 YAMLファイルには、ディスクIDやNASサーバー情報など、基になるストレージ情報が含まれています。 復元プロセス中に、静的にプロビジョニングされたボリュームを作成することにより、PVおよびPVCはYAMLファイルから復元されます。
ラベル
ラベルを指定します。 このラベルを持つアプリケーションはバックアップされます。
リソースの指定
コンマ (,) で区切った1つ以上のリソースオブジェクト名を指定します。 例:
deploy, configmap
指定されたKubernetesリソースのみがバックアップされます。除外リソース
バックアップタスクから除外する1つ以上のKubernetesリソースを指定し、コンマ (,) で区切ることができます。 例:
podまたはSecret
除外されたリソースはバックアップされません。購入期間
バックアップの有効期間。 期限切れのバックアップは復元できません。 有効な値: 1 ~ 65536 単位:日
次に何をすべきか
[アプリケーションバックアップ] ページの [バックアッププラン] タブで、バックアップレコードの [ステータス] 列に [完了] が表示されると、バックアップが作成されます。
バックアップレコードの [操作] 列で [クローン] をクリックすると、バックアップレコードからリアルタイムバックアップタスクを作成できます。
ステップ3: アプリケーションとボリュームを復元する
システムは、データを復元するときに、クラスター内の既存のリソースを上書きしません。 クラスターに存在しないリソースのみを復元します。 復元するリソースがクラスターに既に含まれている場合は、復元を実行する前に既存のリソースを削除してください。
[アプリケーションバックアップ] ページで、[復元] をクリックします。
[復元] パネルでパラメーターを設定し、[OK] をクリックします。
パラメーター
説明
名前
復元タスクの名前。 名前には小文字と数字を使用できます。
バックアップボールト
バックアップファイルを保存するバックアップボールトを選択します。
バックアップコンテナーを選択した後、[バックアップコンテナーの初期化] をクリックして、復元クラスターをバックアップコンテナーに関連付けます。 バックアップコンテナーをクラスターに関連付ける必要があるのは1回だけです。 バックアップボールトの初期化後、バックアップボールトからバックアップファイルを選択してデータを復元できます。
[バックアップの選択]
バックアップファイルを選択します。
名前空間の復元
復元のために1つ以上のバックアップ名前空間を選択できます。 このパラメーターを指定しない場合は、完全復元が実行されます。
説明バックアップにクラスターレベルのリソースが含まれている場合は、このフィールドを空のままにします。
名前空間のリセット
他の名前空間のバックアップファイルを選択する場合は、[追加] をクリックし、バックアップファイルが属する名前空間を選択し、コロン (:) の後にバックアップファイルが復元される名前空間を指定します。
リセットイメージリポジトリ
バックアップワークロードで使用されるイメージリポジトリアドレスを変更するには、[追加] をクリックし、左側のテキストフィールドに変更するイメージリポジトリアドレスを入力し、コロン (:) の後に新しいイメージリポジトリアドレスを指定します。 例:
docker.io/library : registry.cn-hangzhou.aliyuncs.com/xxx
詳細については、「」をご参照ください。復元タスクを実行するときに、バックアップでアプリケーションが使用するイメージを調整するにはどうすればよいですか?
StorageClassの変換
スナップショット機能の名前がStorageClass変換に変更されました。 この機能により、ボリュームバックアップのPVCのStorageClassesを変換できます。 たとえば、アプリケーションはNASボリュームを使用します。 alicloud-disk StorageClassを選択すると、復元されたアプリケーションはディスクボリュームを使用します。
重要変換できるのは、FileSystemタイプのボリューム (クラウドバックアップで作成されたディスクボリューム以外のボリューム) のStorageClassesだけです。
ReadWriteManyボリュームの場合、ディスクへのリカバリはサポートされていません。 ReadOnlyManyボリュームの場合、ディスクにリカバリするときに、複数のノードにレプリカが同時にマウントされないようにして、ディスクの強制アンマウントを回避します。
関連するステートフルまたはステートレスのアプリケーション、ボリューム、およびサービスが通常どおり起動およびアクセスできることを確認します。
クラスターの復元管理ページの左側のナビゲーションウィンドウで、
を選択します。アプリケーションを見つけて、[操作] 列の [詳細] をクリックします。
[ポッド] タブで、復元したデプロイのステータスが [実行中] であることを確認します。
詳細ページの左側のナビゲーションウィンドウで、
を選択します。[ボリュームクレームの永続性] ページで、PVCが復元され、表示されていることを確認します。
詳細ページの左側のナビゲーションウィンドウで、
を選択します。[サービス] ページで、サービスの外部エンドポイントをクリックして、サービスにアクセスできるかどうかを確認します。
関連ドキュメント
異なるボリュームプラグインを使用する、または異なるバージョンのKubernetesを実行するクラスター間でアプリケーションを移行する方法の詳細については、「バックアップセンターを使用して、古いバージョンのKubernetesを実行するACKクラスターでアプリケーションを移行する」をご参照ください。
同じリージョンのクラスター間でアプリケーションを移行する方法の詳細については、「同じリージョンのクラスター間でアプリケーションを移行する」をご参照ください。
リージョン間でアプリケーションを移行する方法の詳細については、「異なるリージョンのクラスター間でのアプリケーションの移行」をご参照ください。
kubectlを使用してアプリケーションを移行する方法の詳細については、「kubectlを使用してアプリケーションをバックアップおよび復元する」をご参照ください。