9.5. OpenShift Virtualization 上のホステッドクラスターのバックアップと復元
障害に対処するために、OpenShift Virtualization 上のホステッドクラスターをバックアップおよび復元できます。
9.5.1. OpenShift Virtualization 上のホステッドクラスターのバックアップ リンクのコピーリンクがクリップボードにコピーされました!
OpenShift Virtualization 上のホステッドクラスターをバックアップしても、ホステッドクラスターは動作を継続できます。バックアップには、Hosted Control Plane のコンポーネントとホステッドクラスターの etcd が含まれます。
ホステッドクラスターが外部インフラストラクチャー上でコンピュートノードを実行していない場合、KubeVirt CSI によってプロビジョニングされた永続ボリューム要求 (PVC) に保存されているホステッドクラスターのワークロードデータもバックアップされます。バックアップには、コンピュートノードとして使用される KubeVirt 仮想マシン (VM) は含まれません。これらの仮想マシンは、復元プロセスの完了後、自動的に再作成されます。
手順
次の例のような YAML ファイルを作成して、Velero バックアップリソースを作成します。
apiVersion: velero.io/v1 kind: Backup metadata: name: hc-clusters-hosted-backup namespace: openshift-adp labels: velero.io/storage-location: default spec: includedNamespaces: - clusters - clusters-hosted includedResources: - sa - role - rolebinding - deployment - statefulset - pv - pvc - bmh - configmap - infraenv - priorityclasses - pdb - hostedcluster - nodepool - secrets - hostedcontrolplane - cluster - datavolume - service - route excludedResources: [ ] labelSelector: matchExpressions: - key: 'hypershift.openshift.io/is-kubevirt-rhcos' operator: 'DoesNotExist' storageLocation: default preserveNodePorts: true ttl: 4h0m0s snapshotMoveData: true datamover: "velero" defaultVolumesToFsBackup: falseここでは、以下のようになります。
includedNamespacesバックアップ対象オブジェクトの名前空間を指定します。ホステッドクラスターと Hosted Control Plane の両方の namespace を含めます。この例では、
clustersはホステッドクラスターの namespace であり、clusters-hostedは Hosted Control Plane の namespace です。重要すべてのホステッドクラスター情報を共有名前空間に保存し、その後ホステッドクラスターのバックアップと復元を行うと、意図せず他のホスト型クラスターを変更してしまう可能性があります。この問題を回避するには、すべてのホステッドクラスター情報を共有名前空間に保存しないでください。または、ラベルに基づいてリソースをバックアップおよび復元することもできます。
labelSelector- ホステッドクラスターノードとして使用される VM のブートイメージを、大きな PVC に格納します。バックアップ時間とストレージサイズを削減するには、このラベルセレクターを追加して、この PVC をバックアップから除外できます。
snapshotMoveData-
datamoverフィールドと併せて、CSIボリュームスナップショットがリモートクラウドストレージに自動的にアップロードされることを指定します。 データムーバー-
snapshotMoveDataフィールドとともに、CSIボリュームスナップショットがリモートクラウドストレージに自動的にアップロードされることを指定します。 defaultVolumesToFsBackup-
デフォルトで、すべてのボリュームに対して Pod ボリュームファイルシステムバックアップを使用するかどうかを指定します。特定の PVC をバックアップするには、この値を
falseに設定します。
次のコマンドを入力して、YAML ファイルに変更を適用します。
$ oc apply -f <backup_file_name>.yaml<backup_file_name>は、ファイル名に置き換えます。バックアップオブジェクトのステータスと Velero ログでバックアッププロセスを監視します。
バックアップオブジェクトの状態を監視するには、次のコマンドを入力します。
$ watch "oc get backups.velero.io -n openshift-adp <backup_file_name> -o jsonpath='{.status}' | jq"Velero ログを監視するには、次のコマンドを入力します。
$ oc logs -n openshift-adp -ldeploy=velero -f
検証
-
status.phaseフィールドがCompletedの場合、バックアッププロセスは完了したと見なすことができます。