Megosztás a következőn keresztül:


Az Azure Kubernetes Service visszaállítása az Azure CLI használatával

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:

  1. 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 $aksclusterresourcegroup
    
  2. Ha 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)
    
  3. 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/$storageaccount
    
    
  4. Ha 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=$subscriptionId
    
  5. Rendelje 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:

  1. 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/$akscluster 
    
    
  2. A 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 $backupvault
    
    
  3. Ha biztonsági másolatokat szeretne visszaállítani a másodlagos régióba, a jelölővel --use-secondary-region azonosí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, RestoreWithoutVolumeData

  • resource_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

Következő lépések