Az Azure Kubernetes Service biztonsági mentése az Azure CLI használatával
Ez a cikk az Azure Kubernetes Service (AKS) Azure CLI használatával történő konfigurálását és biztonsági mentését ismerteti.
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.
Előkészületek
Az AKS biztonsági mentése jelenleg csak az Azure Disk-alapú állandó köteteket támogatja (amelyeket a CSI-illesztőprogram engedélyez). A biztonsági másolatok csak az operatív adattárban (a bérlőben) vannak tárolva, és nem kerülnek tárolóba. A Backup-tárolónak és az AKS-fürtnek ugyanabban a régióban kell lennie.
Az AKS biztonsági mentése blobtárolót és erőforráscsoportot használ a biztonsági mentések tárolásához. A blobtárolóban az AKS-fürt erőforrásai vannak tárolva, míg az állandó kötet-pillanatképek az erőforráscsoportban vannak tárolva. Az AKS-fürtnek és a tárolási helyeknek ugyanabban a régióban kell lenniük. Megtudhatja , hogyan hozhat létre blobtárolót.
Az AKS biztonsági mentése jelenleg napi egyszeri biztonsági mentést támogat. Emellett támogatja a gyakoribb biztonsági mentéseket is ( 4, 8 és 12 óránként) naponta. Ezzel a megoldással akár 360 napig is megőrizheti az adatokat visszaállítás céljából. Megtudhatja, hogyan hozhat létre biztonsági mentési szabályzatot.
Az AKS-fürtök biztonsági mentési és visszaállítási műveleteinek konfigurálásához telepítenie kell a Biztonsági mentési bővítményt . További információ a biztonsági mentési bővítményről.
A biztonsági mentési konfiguráció és a visszaállítási műveletek megkezdése előtt győződjön meg arról, hogy
Microsoft.KubernetesConfiguration
a ,Microsoft.DataProtection
és aTrustedAccessPreview
funkciójelzőMicrosoft.ContainerService
be van kapcsolva az előfizetésben.Az AKS biztonsági mentési vagy visszaállítási műveletének megkezdése előtt győződjön meg arról, hogy az összes előfeltételt végrehajtja.
A támogatott forgatókönyvekről, korlátozásokról és rendelkezésre állásról további információt a támogatási mátrixban talál.
Backup-tároló létrehozása
A Backup-tároló egy felügyeleti entitás az Azure-ban, amely biztonsági mentési adatokat tárol az Azure Backup által támogatott újabb számítási feladatokhoz, például az Azure Database for PostgreSQL-kiszolgálókhoz és az Azure Diskshez. A biztonsági mentési tárolók megkönnyítik a biztonsági mentési adatok rendszerezését, miközben minimálisra csökkentik a felügyeleti többletterhelést. A biztonsági mentési tárolók az Azure Azure Resource Manager-modelljén alapulnak, amely továbbfejlesztett képességeket biztosít a biztonsági mentési adatok védelméhez.
A Backup-tároló létrehozása előtt válassza ki a tárolóban lévő adatok tárolási redundanciáját, majd hozza létre a Biztonsági mentési tárolót ezzel a tárredundanciával és a helyével. További információ a Backup-tárolók létrehozásáról.
Feljegyzés
Bár a kijelölt tároló rendelkezhet a globális redundancia beállításával, az AKS biztonsági mentése jelenleg csak az operatív szintet támogatja. Az összes biztonsági mentés ugyanabban a régióban van tárolva az előfizetésben, mint az AKS-fürt, és nem lesznek átmásolva a Backup-tároló tárolóba.
A Backup-tároló létrehozásához futtassa a következő parancsot:
az dataprotection backup-vault create --resource-group $backupvaultresourcegroup --vault-name $backupvault --location $region --type SystemAssigned --storage-settings datastore-type="VaultStore" type="LocallyRedundant"
A tároló létrehozása után hozzon létre egy biztonsági mentési szabályzatot az AKS-fürtök védelméhez.
Biztonsági mentési szabályzat létrehozása
Az AKS biztonsági mentéséhez szükséges biztonsági mentési szabályzat belső összetevőinek megismeréséhez kérje le a szabályzatsablont a parancs használatával az dataprotection backup-policy get-default-policy-template
. Ez a parancs egy alapértelmezett szabályzatsablont ad vissza egy adott adatforrástípushoz. Ezzel a szabályzatsablonnal új szabályzatot hozhat létre.
az dataprotection backup-policy get-default-policy-template --datasource-type AzureKubernetesService > akspolicy.json
{
"datasourceTypes": [
"Microsoft.ContainerService/managedClusters"
],
"name": "AKSPolicy1",
"objectType": "BackupPolicy",
"policyRules": [
{
"backupParameters": {
"backupType": "Incremental",
"objectType": "AzureBackupParams"
},
"dataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
},
"name": "BackupHourly",
"objectType": "AzureBackupRule",
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2023-01-04T09:00:00+00:00/PT4H"
]
},
"taggingCriteria": [
{
"isDefault": true,
"tagInfo": {
"id": "Default_",
"tagName": "Default"
},
"taggingPriority": 99
}
]
}
},
{
"isDefault": true,
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
}
}
],
"name": "Default",
"objectType": "AzureRetentionRule"
}
]
}
A szabályzatsablon egy eseményindító feltételből (amely meghatározza a biztonsági mentési feladat aktiválásának tényezőit) és egy életciklusból (amely dönti el, hogy mikor törli, másolja vagy helyezi át a biztonsági másolatokat). Az AKS biztonsági mentésében az eseményindító alapértelmezett értéke egy ütemezett óránkénti eseményindító, amely 4 óránként (PT4H) van, és az egyes biztonsági másolatok megőrzése 365 nap.
Scheduled trigger:
"trigger": {
"objectType": "ScheduleBasedTriggerContext",
"schedule": {
"repeatingTimeIntervals": [
"R/2023-01-04T09:00:00+00:00/PT4H"
]
},
Default retention lifecycle:
"lifecycles": [
{
"deleteAfter": {
"duration": "P7D",
"objectType": "AbsoluteDeleteOption"
},
"sourceDataStore": {
"dataStoreType": "OperationalStore",
"objectType": "DataStoreInfoBase"
}
}
],
Az AKS biztonsági mentése naponta több biztonsági mentést biztosít. Ha gyakoribb biztonsági mentésre van szüksége, válassza ki azt az óránkénti biztonsági mentési gyakoriságot, amely 4, 6, 8 vagy 12 óránként képes biztonsági mentéseket készíteni. A biztonsági mentések ütemezése a kiválasztott időintervallum alapján történik.
Ha például 4 óránként választja ki a biztonsági mentéseket, a rendszer körülbelül 4 óránként készít biztonsági másolatot, hogy a biztonsági másolatok egyenlően legyenek elosztva a nap folyamán. Ha naponta egyszer elegendő a biztonsági mentés , válassza a napi biztonsági mentés gyakoriságát. A napi biztonsági mentés gyakoriságában megadhatja a biztonsági mentések készítésének napját .
Fontos
A nap időpontja a biztonsági mentés kezdési idejét jelzi, nem pedig a biztonsági mentés befejezésének időpontját.
Feljegyzés
Bár a kijelölt tároló rendelkezik a globális redundancia beállítással, az AKS biztonsági mentése jelenleg csak a pillanatkép-adattárat támogatja. Az összes biztonsági mentés az előfizetés egy erőforráscsoportjában van tárolva, és nem lesz átmásolva a Backup-tároló tárba.
Miután letöltötte a sablont JSON-fájlként, igény szerint szerkesztheti az ütemezéshez és a megőrzéshez. Ezután hozzon létre egy új szabályzatot az eredményként kapott JSON-val. Ha az óránkénti gyakoriságot vagy a megőrzési időtartamot szeretné szerkeszteni, használja az és/vagy az dataprotection backup-policy retention-rule set
a az dataprotection backup-policy trigger set
parancsokat. Ha a szabályzat JSON-jának minden szükséges értéke megvan, hozzon létre egy új szabályzatot a szabályzatobjektumból a az dataprotection backup-policy create
paranccsal.
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy policy.json
AKS-fürt előkészítése biztonsági mentésre
A tároló és a szabályzat létrehozása után az alábbi előfeltételeket kell teljesítenie ahhoz, hogy az AKS-fürt készen álljon a biztonsági mentésre:
Hozzon létre egy tárfiókot és egy blobtárolót.
Az AKS biztonsági mentése biztonsági másolatként tárolja a Kubernetes-erőforrásokat egy blobtárolóban. Ahhoz, hogy az AKS-fürt készen álljon a biztonsági mentésre, telepítenie kell egy bővítményt a fürtben. Ehhez a bővítményhez bemenetként a tárfiók és a blobtároló szükséges.
Új tárfiók létrehozásához futtassa a következő parancsot:
az storage account create --name $storageaccount --resource-group $storageaccountresourcegroup --location $region --sku Standard_LRS
A tárfiók létrehozása után hozzon létre egy blobtárolót a következő parancs futtatásával:
az storage container create --name $blobcontainer --account-name $storageaccount --auth-mode login
Megtudhatja, hogyan engedélyezheti vagy tilthatja le bizonyos funkciókat, például a privát végpontot a tárfiók és a blobtároló létrehozása során.
Feljegyzés
- A tárfióknak és az AKS-fürtnek ugyanabban a régióban és előfizetésben kell lennie.
- A blobtároló nem tartalmazhat korábban létrehozott fájlrendszereket (kivéve az AKS biztonsági mentésével létrehozottakat).
- Ha a forrás vagy a cél AKS-fürt privát virtuális hálózaton található, akkor létre kell hoznia egy privát végpontot a tárfiók és az AKS-fürt összekapcsolásához.
Telepítse a Biztonsági mentés bővítményt.
A biztonsági mentési bővítményt kötelező telepíteni az AKS-fürtben a biztonsági mentési és visszaállítási műveletek elvégzéséhez. A Biztonsági mentési bővítmény létrehoz egy névteret
dataprotection-microsoft
a fürtben, és ugyanezt használja az erőforrások üzembe helyezéséhez. A bővítményhez a tárfiók és a blobtároló szükséges bemenetként a telepítéshez.az k8s-extension create --name azure-aks-backup --extension-type microsoft.dataprotection.kubernetes --scope cluster --cluster-type managedClusters --cluster-name $akscluster --resource-group $aksclusterresourcegroup --release-train stable --configuration-settings blobContainer=$blobcontainer storageAccount=$storageaccount storageAccountResourceGroup=$storageaccountresourcegroup storageAccountSubscriptionId=$subscriptionId
A bővítménytelepítés részeként létrejön egy felhasználói identitás az AKS-fürt csomópontkészlet-erőforráscsoportjában. Ahhoz, hogy a bővítmény hozzáférhessen a tárfiókhoz, meg kell adnia ezt az identitást a Storage Blob Data Contributor szerepkörnek. A szükséges szerepkör hozzárendeléséhez futtassa a következő parancsot:
az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name $akscluster --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 engedélyezése
Ahhoz, hogy a Backup-tároló csatlakozzon az AKS-fürthöz, engedélyeznie kell a Megbízható hozzáférést , mivel lehetővé teszi, hogy a Backup-tároló közvetlen látóvonalat láthasson az AKS-fürthöz.
A Megbízható hozzáférés engedélyezéséhez futtassa a következő parancsot:
az aks trustedaccess rolebinding create --cluster-name $akscluster --name backuprolebinding --resource-group $aksclusterresourcegroup --roles Microsoft.DataProtection/backupVaults/backup-operator --source-resource-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/BackupVaults/$backupvault
Biztonsági másolatok konfigurálása
A létrehozott Backup-tároló és biztonsági mentési szabályzat, valamint az AKS-fürt készen áll a biztonsági mentésre , így megkezdheti az AKS-fürt biztonsági mentését.
A kérés előkészítése
A biztonsági mentés konfigurálása két lépésben történik:
Készítsen biztonsági mentési konfigurációt annak meghatározásához, hogy mely fürterőforrásokról kell biztonsági másolatot készíteni a
az dataprotection backup-instance initialize-backupconfig
paranccsal. A parancs létrehoz egy JSON-t, amelyet igény szerint frissíthet az AKS-fürt biztonsági mentési konfigurációjának meghatározásához.az dataprotection backup-instance initialize-backupconfig --datasource-type AzureKubernetesService > aksbackupconfig.json { "excluded_namespaces": null, "excluded_resource_types": null, "include_cluster_scope_resources": true, "included_namespaces": null, "included_resource_types": null, "label_selectors": null, "snapshot_volumes": true }
A parancs használatával készítse elő a vonatkozó kérést a megfelelő tároló, szabályzat, AKS-fürt, biztonsági mentési konfiguráció és pillanatkép-erőforráscsoport használatával
az dataprotection backup-instance initialize
.az dataprotection backup-instance initialize --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$akscluster --datasource-location $region --datasource-type AzureKubernetesService --policy-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault/backupPolicies/$backuppolicy --backup-configuration ./aksbackupconfig.json --friendly-name ecommercebackup --snapshot-resource-group-name $snapshotresourcegroup > backupinstance.json
Most használja a parancs JSON-kimenetét az AKS-fürt biztonsági mentésének konfigurálásához.
A szükséges engedélyek hozzárendelése és érvényesítése
A Backup-tároló felügyelt identitással fér hozzá más Azure-erőforrásokhoz. Az AKS-fürt biztonsági mentésének konfigurálásához a Backup-tároló felügyelt identitásához engedélyekre van szükség az AKS-fürtön és az erőforráscsoportokon, ahol pillanatképek jönnek létre és kezelhetők. Emellett az AKS-fürtnek engedélyre van szüksége a Pillanatkép-erőforráscsoporthoz.
Csak a rendszer által hozzárendelt felügyelt identitás támogatott a biztonsági mentéshez (a Backup-tárolóhoz és az AKS-fürthöz is). A rendszer által hozzárendelt felügyelt identitások erőforrásonként csak egyre korlátozódnak, és ennek az erőforrásnak az életciklusához vannak kötve. Engedélyeket adhat a felügyelt identitáshoz az Azure szerepköralapú hozzáférés-vezérlés (Azure RBAC) használatával. A felügyelt identitás egy speciális típusú szolgáltatásnév, amelyet csak Azure-erőforrásokhoz lehet használni. További információ a felügyelt identitásokról.
A kérelem előkészítésével először ellenőriznie kell, hogy a szükséges szerepkörök hozzá vannak-e rendelve a fent említett erőforrásokhoz a következő parancs futtatásával:
az dataprotection backup-instance validate-for-backup --backup-instance ./backupinstance.json --ids /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault
Ha az ellenőrzés sikertelen, és bizonyos engedélyek hiányoznak, az alábbi parancs futtatásával rendelheti hozzá őket:
az dataprotection backup-instance update-msi-permissions command.
az dataprotection backup-instance update-msi-permissions --datasource-type AzureKubernetesService --operation Backup --permissions-scope ResourceGroup --vault-name $backupvault --resource-group $backupvaultresourcegroup --backup-instance backupinstance.json
Miután hozzárendelte az engedélyeket, az alábbi érvényesítési paranccsal értékelje újra a biztonsági mentési parancsot:
az dataprotection backup-instance create --backup-instance backupinstance.json --resource-group $backupvaultresourcegroup --vault-name $backupvault
Igény szerinti biztonsági mentések futtatása
A megfelelő biztonsági mentési példány lekéréséhez futtassa a az dataprotection backup-instance list-from-resourcegraph --
parancsot.
az dataprotection backup-instance list-from-resourcegraph --datasource-type AzureKubernetesService --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$akscluster --query aksAssignedIdentity.id
Most aktiválja az igény szerinti biztonsági mentést a biztonsági mentési példányhoz az alábbi parancs futtatásával:
az dataprotection backup-instance adhoc-backup --rule-name "BackupDaily" --ids /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault/backupInstances/$backupinstanceid
Feladatok nyomon követése
A parancsot futtató biztonsági mentési az dataprotection job
feladatok nyomon követése. Listázhatja az összes feladatot, és lekérhet egy adott feladatrészletet.
A Resource Graph használatával is nyomon követheti az összes feladatot az összes előfizetésben, erőforráscsoportban és biztonsági mentési tárolóban. Ehhez futtassa a parancsot a az dataprotection job list-from-resourcegraph
megfelelő feladat lekéréséhez
Igény szerinti biztonsági mentéshez:
az dataprotection job list-from-resourcegraph --datasource-type AzureKubernetesService --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$akscluster --operation OnDemandBackup
Ütemezett biztonsági mentés esetén:
az dataprotection job list-from-resourcegraph --datasource-type AzureKubernetesService --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$akscluster --operation ScheduledBackup
Következő lépések
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: