Udostępnij za pomocą


Szybki start: Konfigurowanie kopii zapasowej w skarbcu dla klastra usługi Azure Kubernetes Service (AKS) przy użyciu Azure CLI

Szybki start opisuje, jak skonfigurować archiwizowaną kopię zapasową dla klastra usługi Azure Kubernetes Service (AKS) przy użyciu Azure CLI.

Usługa Azure Backup for AKS to natywna dla chmury, gotowa do użycia w przedsiębiorstwie usługa tworzenia kopii zapasowych skoncentrowana na aplikacjach, która umożliwia szybkie konfigurowanie kopii zapasowych dla klastrów usługi AKS.

Przed rozpoczęciem

Przed skonfigurowaniem kopii zapasowej dla klastra AKS upewnij się, że zostały spełnione następujące wymagania wstępne:

Tworzenie magazynu kopii zapasowych

Aby utworzyć magazyn kopii zapasowych, uruchom następujące polecenie:

az dataprotection backup-vault create --resource-group $backupvaultresourcegroup --vault-name $backupvault --location $region --type SystemAssigned --storage-settings datastore-type="VaultStore" type="GeoRedundant"

Nowo utworzony skarbiec ma ustawienia magazynowania ustawione jako globalnie nadmiarowe, dlatego kopie zapasowe przechowywane w warstwie skarbca będą dostępne w połączonym regionie Azure. Po zakończeniu tworzenia magazynu utwórz zasady tworzenia kopii zapasowych w celu ochrony klastrów usługi AKS.

Tworzenie zasad kopii zapasowych

Pobierz szablon zasad przy użyciu polecenia az dataprotection backup-policy get-default-policy-template.

az dataprotection backup-policy get-default-policy-template --datasource-type AzureKubernetesService > akspolicy.json

Aktualizujemy domyślny szablon zasad tworzenia kopii zapasowych i dodajemy regułę przechowywania, aby zachować pierwszą pomyślną kopię zapasową dziennie w warstwie Magazyn przez 30 dni.


az dataprotection backup-policy retention-rule create-lifecycle  --count 30 --retention-duration-type Days --copy-option ImmediateCopyOption --target-datastore VaultStore --source-datastore OperationalStore > ./retentionrule.json

az dataprotection backup-policy retention-rule set --lifecycles ./retentionrule.json --name Daily --policy ./akspolicy.json > ./akspolicy.json

Gdy kod JSON zasad zawiera wszystkie wymagane wartości, przejdź do utworzenia nowych zasad z obiektu zasad.

az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy akspolicy.json

Przygotowywanie klastra usługi AKS do tworzenia kopii zapasowej

Po zakończeniu tworzenia magazynu i zasad, należy wykonać następujące kroki wstępne, aby przygotować klaster usługi AKS do tworzenia kopii zapasowych:

  1. Utwórz konto magazynu i kontener danych.

    Kopia zapasowa usługi AKS przechowuje zasoby Kubernetes w kontenerze blob. Aby przygotować klaster usługi AKS do tworzenia kopii zapasowej, należy zainstalować rozszerzenie w klastrze. To rozszerzenie wymaga konta przechowywania i kontenera blobów jako danych wejściowych.

    Aby utworzyć nowe konto magazynowe, uruchom następujące polecenie:

    az storage account create --name $storageaccount --resource-group $storageaccountresourcegroup --location $region --sku Standard_LRS
    

    Po zakończeniu tworzenia konta magazynowania utwórz kontener blob, uruchamiając następujące polecenie:

    az storage container create --name $blobcontainer --account-name $storageaccount --auth-mode login
    
  2. Zainstaluj rozszerzenie kopii zapasowej.

    Rozszerzenie kopii zapasowej jest obowiązkowe do zainstalowania w klastrze usługi AKS w celu wykonywania dowolnych operacji tworzenia kopii zapasowych i przywracania. Rozszerzenie do tworzenia kopii zapasowych tworzy przestrzeń nazw dataprotection-microsoft w klastrze i używa tej przestrzeni nazw do wdrażania zasobów. Rozszerzenie wymaga podania konta magazynu oraz kontenera obiektów blob jako danych wejściowych do instalacji.

    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
    

    W ramach instalacji rozszerzenia tożsamość użytkownika jest tworzona w grupie zasobów puli węzłów klastra AKS. Aby rozszerzenie uzyskiwało dostęp do konta magazynu, należy przypisać tej tożsamości rolę Współtwórca danych Blob w usłudze Magazyn. Aby przypisać wymaganą rolę, uruchom następujące polecenie:

    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. Włączanie zaufanego dostępu

    Aby magazyn kopii zapasowych mógł nawiązać połączenie z klastrem usługi AKS, należy włączyć zaufany dostęp , ponieważ umożliwia magazynowi usługi Backup bezpośredni dostęp do klastra usługi AKS.

    Aby włączyć zaufany dostęp, uruchom następujące polecenie:

    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
    

Konfigurowanie archiwizowanych kopii zapasowych dla klastra AKS

Po utworzeniu skarbca kopii zapasowej i polityki kopii zapasowej oraz klastra AKS w stanie gotowym do utworzenia kopii zapasowej, można teraz rozpocząć tworzenie kopii zapasowej klastra AKS.

Przygotowywanie żądania

Konfiguracja kopii zapasowej jest wykonywana w dwóch krokach:

  1. Przygotuj konfigurację kopii zapasowej, aby zdefiniować, które zasoby klastra mają być kopiowane przy użyciu polecenia az dataprotection backup-instance initialize-backupconfig. Polecenie generuje kod JSON, który można zaktualizować w celu zdefiniowania konfiguracji kopii zapasowej dla klastra usługi AKS zgodnie z potrzebami.

    az dataprotection backup-instance initialize-backupconfig --datasource-type AzureKubernetesService > aksbackupconfig.json
    
  2. Przygotuj żądanie za pomocą właściwego magazynu, polityki, klastra AKS, konfiguracji kopii zapasowej oraz grupy zasobów dla migawki, używając polecenia 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
    

Teraz użyj danych wyjściowych JSON tego polecenia, aby skonfigurować kopię zapasową klastra AKS.

Przypisywanie wymaganych uprawnień i weryfikowanie

Po przygotowaniu żądania należy najpierw sprawdzić, czy wymagane role są przypisane do zasobów zaangażowanych, uruchamiając następujące polecenie:

az dataprotection backup-instance validate-for-backup --backup-instance ./backupinstance.json --ids /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault

Jeśli walidacja zakończy się niepowodzeniem i brakuje pewnych uprawnień, możesz je przypisać, uruchamiając następujące polecenie:

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

Po przypisaniu uprawnień ponownie zweryfikuj za pomocą wcześniejszego polecenia weryfikacji dla kopii zapasowej, a następnie przejdź do konfigurowania kopii zapasowej:

az dataprotection backup-instance create --backup-instance  backupinstance.json --resource-group $backupvaultresourcegroup --vault-name $backupvault

Następne kroki