Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Ez a cikk azt ismerteti, hogyan állíthatja vissza az Azure Kubernetes-fürtöt az Azure Backup által az Azure CLI használatával létrehozott visszaállítási pontból. Az AKS-fürtöt is az Azure PowerShell használatával visszaállíthatja.
Az Azure Backup mostantól lehetővé teszi az AKS-fürtök (fürterőforrások és a fürthöz csatlakoztatott állandó kötetek) biztonsági mentési bővítmény használatával történő biztonsági mentését, amelyet telepíteni kell a fürtön. A Backup-tároló ezen a Biztonsági mentési bővítményen keresztül kommunikál a fürttel a biztonsági mentési és visszaállítási műveletek végrehajtásához.
Az Original-Location Recovery (OLR) (visszaállítás a biztonsági mentést végző AKS-fürtben) és az Alternate-Location Recovery (ALR) (visszaállítás egy másik AKS-fürtben) is elvégezhető. Kiválaszthatja a visszaállítandó elemeket is az Elemszintű helyreállítás (ILR) biztonsági másolatból.
Feljegyzés
A visszaállítási művelet megkezdése előtt a célfürtnek telepítve kell lennie a Backup-bővítménynek, és engedélyeznie kell a megbízható hozzáférést a Backup-tárolóhoz. További információ.
Indulás előtt
Mielőtt elkezdené visszaállítani az AKS-fürtöt, tekintse át az alábbi részleteket:
Az AKS biztonsági mentése lehetővé teszi az eredeti AKS-fürt (amelyről biztonsági másolat készült) vagy egy alternatív AKS-fürt visszaállítását. Az AKS biztonsági mentése lehetővé teszi a teljes visszaállítást és az elemszintű visszaállítást. A visszaállítási konfigurációkkal paramétereket határozhat meg a visszaállítandó fürterőforrások alapján.
Telepítenie kell a biztonsági mentési bővítményt a cél AKS-fürtbe. Emellett engedélyeznie kell a megbízható hozzáférést a Backup-tároló és az AKS-fürt között.
Ha a cél AKS-fürt verziója eltér attól a verziótól, amelyet a biztonsági mentés során használtak, előfordulhat, hogy a visszaállítási művelet meghiúsul, vagy figyelmeztetésekkel zárul különböző esetekben, például ha elavult erőforrások találhatók az újabb fürtverzióban. Ha a Vault szintről állít vissza, az átmeneti helyen lévő hidratált erőforrások használatával visszaállíthatja az alkalmazáserőforrásokat a célklaszterbe.
A korlátozásokról és a támogatott forgatókönyvekről további információt a támogatási mátrixban talál.
Hitelesítsd és készítsd elő az AKS célfürtöt.
A visszaállítási folyamat megkezdése előtt biztosítania kell, hogy az AKS-fürt készen áll a visszaállításra. Tartalmazza a telepíteni kívánt biztonsági mentési bővítményt, amely rendelkezik engedéllyel a tárfiókban, ahol a biztonsági másolatok tárolása/hidratálása a cél AKS-fürt és a Backup-tároló között engedélyezett megbízható hozzáféréssel történik.
Az AKS-fürt érvényesítéséhez és visszaállításra való előkészítéséhez futtassa a következő parancsokat:
Ellenőrizze, hogy telepítve van-e a biztonsági mentési kiterjesztés a fürtben.
az k8s-extension show --name azure-aks-backup --cluster-type managedClusters --cluster-name $targetakscluster --resource-group $aksclusterresourcegroupHa a bővítmény telepítve van, ellenőrizze, hogy rendelkezik-e a megfelelő engedélyekkel azon a tárfiókon, ahol a biztonsági másolatok vannak tárolva.
az role assignment list --all --assignee $(az k8s-extension show --name azure-aks-backup --cluster-name $targetakscluster --resource-group $aksclusterresourcegroup --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv)Ha a szerepkör nincs hozzárendelve, akkor rendelje hozzá a szerepkört.
az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name $targetakscluster --resource-group $aksclusterresourcegroup --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Account Contributor' --scope /subscriptions/$subscriptionId/resourceGroups/$storageaccountresourcegroup/providers/Microsoft.Storage/storageAccounts/$storageaccountHa a Biztonsági másolat bővítmény nincs telepítve, futtassa a következő bővítménytelepítési parancsot azzal a tárfiókkal és blobtárolóval, ahol a biztonsági mentések bemenetként vannak tárolva .
az k8s-extension create --name azure-aks-backup --extension-type microsoft.dataprotection.kubernetes --scope cluster --cluster-type managedClusters --cluster-name $targetakscluster --resource-group $aksclusterresourcegroup --release-train stable --configuration-settings blobContainer=$blobcontainer storageAccount=$storageaccount storageAccountResourceGroup=$storageaccountresourcegroup storageAccountSubscriptionId=$subscriptionIdRendelje hozzá a szükséges szerepkört a tárfiók bővítményéhez.
az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name $targetakscluster --resource-group $aksclusterresourcegroup --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/$subscriptionId/resourceGroups/$storageaccountresourcegroup/providers/Microsoft.Storage/storageAccounts/$storageaccount
Megbízható hozzáférés ellenőrzése
Annak ellenőrzéséhez, hogy a Megbízható hozzáférés engedélyezve van-e a Backup-tároló és a Cél AKS-fürt között, futtassa a következő parancsot:
az aks trustedaccess rolebinding list --resource-group $aksclusterresourcegroup --cluster-name $targetakscluster
Ha nem, akkor a Megbízható hozzáférés a következő paranccsal engedélyezhető:
az aks trustedaccess rolebinding create --cluster-name $targetakscluster --name backuprolebinding --resource-group $aksclusterresourcegroup --roles Microsoft.DataProtection/backupVaults/backup-operator --source-resource-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/BackupVaults/$backupvault
Visszaállítás az AKS-fürtre
Az AKS-fürtre való visszaállításhoz tekintse meg a következő szakaszokat.
A megfelelő helyreállítási pont lekérése
A releváns helyreállítási pont beolvasásához a következő parancsokat futtassa:
Kérje le az AKS-fürthöz társított összes példányt, és azonosítsa a megfelelő példányt.
az dataprotection backup-instance list-from-resourcegraph --datasource-type AzureKubernetesService --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$aksclusterA példány azonosítása után kérd le a megfelelő helyreállítási pontot.
az dataprotection recovery-point list --backup-instance-name $backupinstancename --resource-group $backupvaultresourcegroup --vault-name $backupvaultHa biztonsági másolatokat szeretne visszaállítani a másodlagos régióba, a jelölővel
--use-secondary-regionazonosíthatja az adott régióban elérhető helyreállítási pontokat.az dataprotection recovery-point list --backup-instance-name $backupinstancename --resource-group $backupvaultresourcegroup --vault-name $backupvault --use-secondary-region true
A visszaállítási kérelem előkészítése
Azokra az elemekre vonatkozó visszaállítási konfiguráció előkészítéséhez, amelyeket a cél AKS-fürtre kíván visszaállítani, futtassa a az dataprotection backup-instance initialize-restoreconfig parancsot.
az dataprotection backup-instance initialize-restoreconfig --datasource-type AzureKubernetesService >restoreconfig.json
{
"conflict_policy": "Skip",
"excluded_namespaces": null,
"excluded_resource_types": null,
"include_cluster_scope_resources": true,
"included_namespaces": null,
"included_resource_types": null,
"label_selectors": null,
"namespace_mappings": null,
"object_type": "KubernetesClusterRestoreCriteria",
"persistent_volume_restore_mode": "RestoreWithVolumeData",
"resource_modifier_reference": null,
"restore_hook_references": null,
"staging_resource_group_id": null,
"staging_storage_account_id": null
}
A visszaállítási konfiguráció a következő elemekből áll:
conflict_policy: A visszaállítás során, ha a fürtben ugyanazzal a névvel rendelkező erőforrás található, mint a biztonsági másolatban, kiválaszthatja, hogyan kezelje az ütközést. Két lehetősége van: Kihagyás, amely nem állítja vissza a mentési elemet, vagy Frissítés, amely a biztonsági másolaton tárolt erőforrással módosítja a fürtön belüli erőforrás módosítható mezőit.excluded_namespace: Felsorolhatja azokat a névtereket, amelyeket ki kell zárni a klaszterbe való visszaállításból. A névterek alapjául szolgáló erőforrás nem lesz visszaállítva.excluded_resource_types: Listázhatja azokat az erőforrástípusokat, amelyeket kizárnak a fürtbe való visszaállításból. A bemeneti értékeket API-csoporttípusként kell megadni kulcsértékpárként.include_cluster_scope_resources: Eldöntheti, hogy visszaállítja-e a klaszterhez kapcsolódó erőforrásokat, ennek megfelelően állítva be az igaz vagy hamis értéket.included_namespaces: Felsorolhatja azokat a névtereket, amelyeket kizárólag a fürtre történő visszaállítás részeként szeretne szerepeltetni. A névterek alapjául szolgáló erőforrást vissza kell állítani.excluded_resource_types: Felsorolhatja azokat az erőforrástípusokat, amelyek kizárólag a klaszterbe történő visszaállítás céljából kerülnek belefoglalásra. A bemeneti értékeket API-csoporttípusként kell megadni kulcsértékpárként.label_selectors: Kiválaszthatja azokat az erőforrásokat, amelyeket adott címkékkel szeretne visszaállítani. A bemeneti értéket kulcsérték-párként kell megadni.namespace_mappings: A névteret (és a mögöttes erőforrásokat) a célfürt egy másik névteréhez rendelheti. Ha a célnévtér nem létezik a fürtben, akkor a kiterjesztés létrehoz egy új névteret. A bemeneti értéket kulcsérték-párként kell megadni.object_type: Ez a változó azt határozza meg, hogy a visszaállítási konfiguráció az operatív szinten vagy a tárolószinten tárolt helyreállítási pontra vonatkozik-e. Ha a helyreállítási pont az operatív szinten van, állítsa az értéket a KubernetesClusterRestoreCriteria értékre. Ha a helyreállítási pont a Tárolószinten van, vagy a másodlagos régióba van visszaállítva, állítsa az értéket a KubernetesClusterVaultTierRestoreCriteria értékre.persistent_volume_restore_mode: Ezzel a változóval eldöntheti, hogy vissza szeretné-e állítani a biztonsági másolatban szereplő állandó köteteket. Elfogadott értékek: RestoreWithVolumeData, RestoreWithoutVolumeDataresource_modifier_reference: Ezzel a változóval hivatkozhat a fürtön belül üzembe helyezett erőforrás-módosítóra. A bemeneti érték annak a névtérnek a kulcsértékpárja, amelyben az erőforrás üzembe van helyezve, valamint a yaml-fájl neve.restore_hook_references: Ezzel a változóval hivatkozhat a fürtben lévő Restore Hook erőforrásra. A bemeneti érték annak a névtérnek a kulcsértékpárja, amelyben az erőforrás üzembe van helyezve, valamint a yaml-fájlok neve.staging_resource_group_id: Ha a tárolószinten tárolt biztonsági mentést állítja vissza, átmeneti helyként meg kell adnia az erőforráscsoport azonosítóját. Ebben az erőforráscsoportban a mentett perzisztens köteteket hidratálják, mielőtt visszaállítanák a célklaszterbe.staging_storage_account_id: Ha a tárolószinten tárolt biztonsági mentést állítja vissza, átmeneti helyként meg kell adnia a tárfiók azonosítóját. A jelenlegi erőforráscsoportban a Kubernetes-erőforrásokat előkészítjük, mielőtt visszaállítanánk őket a célfürtre.
Most készítse elő a visszaállítási kérést az összes releváns részlettel. Ha visszaállítja a mentést az eredeti fürtre, futtassa a következő parancsot:
az dataprotection backup-instance restore initialize-for-item-recovery --datasource-type AzureKubernetesService --restore-location $region --source-datastore OperationalStore --recovery-point-id $recoverypointid --restore-configuration restoreconfig.json --backup-instance-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault/backupInstances/$backupinstanceid >restorerequestobject.json
Ha a visszaállítás cél-AKS-fürtje különbözik az eredeti fürttől, futtassa a következő parancsot:
az dataprotection backup-instance restore initialize-for-data-recovery --datasource-type AzureKubernetesService --restore-location $region --source-datastore OperationalStore --recovery-point-id $recoverypointid --restore-configuration restoreconfig.json --target-resource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$targetakscluster >restorerequestobject.json
Ha a célfürt másodlagos régióban található, használja a jelölőt --use-secondary-region.
az dataprotection backup-instance restore initialize-for-data-recovery --datasource-type AzureKubernetesService --restore-location $region --source-datastore OperationalStore --recovery-point-id $recoverypointid --restore-configuration restoreconfig.json --target-resource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$targetakscluster --use-secondary-region true >restorerequestobject.json
Feljegyzés
Ha egy helyreállítási pontot választott a tárolószintről a VaultStore szolgáltatással --source-datastore , akkor adjon meg egy tárfiókot és egy pillanatkép-erőforráscsoportot a visszaállítási konfigurációban.
Ha a másodlagos régióban lévő fürtre próbál visszaállítani, akkor állítsa be a --restore-location jelzőt a másodlagos régió neveként, és a --source-datastore-t VaultStore-ként.
Most frissítheti a JSON-objektumot a követelményeknek megfelelően, majd az alábbi parancs futtatásával ellenőrizheti az objektumot:
az dataprotection backup-instance validate-for-restore --backup-instance-name $backupinstancename --resource-group $backupvaultresourcegroup --restore-request-object restorerequestobject.json --vault-name $backupvault
Ha a célfürt másodlagos régióban található, használja a jelölőt --use-secondary-region.
az dataprotection backup-instance validate-for-restore --backup-instance-name $backupinstancename --resource-group $backupvaultresourcegroup --restore-request-object restorerequestobject.json --vault-name $backupvault --use-secondary-region true
Ez a parancs ellenőrzi, hogy az AKS-fürt és a biztonsági mentési tároló rendelkeznek-e a különböző erőforrásokon a visszaállítás végrehajtásához szükséges szerepkörökkel. Ha az ellenőrzés hiányzó szerepkörök miatt meghiúsul, az alábbi parancs futtatásával rendelheti hozzá őket:
az dataprotection backup-instance update-msi-permissions --datasource-type AzureKubernetesService --operation Restore --permissions-scope Resource --resource-group $backupvaultresourcegroup --vault-name $backupvault --restore-request-object restorerequestobject.json --snapshot-resource-group-id /subscriptions/$subscriptionId/resourceGroups/$snapshotresourcegroup
Feljegyzés
A visszaállítási művelet során a Backup-tárolóhoz és az AKS-fürthöz bizonyos szerepköröket kell rendelni a visszaállítás végrehajtásához.
- A cél AKS-fürtnek rendelkeznie kell közreműködői szerepkörrel a pillanatkép-erőforráscsoportban.
- A biztonsági mentési bővítményhez csatolt felhasználói identitásnaktárolási blobadat-közreműködői szerepkörrel kell rendelkeznie azon a tárfiókon, ahol az operatív szintű biztonsági mentések vannak tárolva, és a *átmeneti tárfiókban a széf szint esetén.
- Az biztonsági mentési tárolónak rendelkeznie kell olvasói szerepkörrel a cél AKS-fürtön és pillanatkép-erőforráscsoporton az operatív szintről való visszaállítás esetén.
- A biztonsági mentési tárolónak közreműködői szerepkörrel kell rendelkeznie az átmeneti erőforráscsoportban, arra az esetre, ha a biztonsági mentést a tárolószintről állítanák vissza.
- A Biztonsági mentési tárnak rendelkeznie kell Tárfiók-közreműködő és Storage Blob Data Tulajdonos szerepkörrel az átmeneti tárfiókban, ha visszaállítja a biztonsági mentést a tárolói szintről.
A visszaállítás elindítása
A szerepkör-hozzárendelés befejezése után ismét ellenőriznie kell a visszaállítási objektumot. Ezt követően elindíthat egy visszaállítási műveletet a következő parancs futtatásával:
az dataprotection backup-instance restore trigger --backup-instance-name $backupinstancename --restore-request-object restorerequestobject.json
Ha a célfürt másodlagos régióban található, használja a jelölőt --use-secondary-region.
az dataprotection backup-instance restore trigger --backup-instance-name $backupinstancename --restore-request-object restorerequestobject.json --use-secondary-region true
Feljegyzés
Az átmeneti erőforráscsoportban és a tárfiókban hidratált erőforrások nem törlődnek automatikusan a visszaállítási feladat befejezése után, és manuálisan kell törölni őket.
Nyomon követési feladat
A visszaállítási feladatokat a az dataprotection job paranccsal követheti nyomon. Listázhatja az összes feladatot, és lekérhet egy adott feladatrészletet.
A Resource Graph segítségével az összes feladatot nyomon követheti az összes előfizetésben, erőforráscsoportban és biztonsági mentési tárolóban. Használja a az dataprotection job list-from-resourcegraph parancsot a megfelelő feladat megszerzéséhez.
az dataprotection job list-from-resourcegraph --datasource-type AzureKubernetesService --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$akscluster --operation Restore