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


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.KubernetesConfigurationa , Microsoft.DataProtectionés a TrustedAccessPreview 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:

  1. 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

    1. A tárfióknak és az AKS-fürtnek ugyanabban a régióban és előfizetésben kell lennie.
    2. A blobtároló nem tartalmazhat korábban létrehozott fájlrendszereket (kivéve az AKS biztonsági mentésével létrehozottakat).
    3. 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.
  2. 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
    
  3. 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:

  1. 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
    }
    
  2. 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