Sdílet prostřednictvím


Rychlý start: Konfigurace trezorového zálohování pro cluster Azure Kubernetes Service (AKS) pomocí Azure CLI

Tento rychlý start popisuje, jak nakonfigurovat trezorované zálohování pro cluster Azure Kubernetes Service (AKS) pomocí Azure CLI.

Azure Backup pro AKS je cloudová služba zálohování zaměřená na podnikovou aplikaci, která umožňuje rychle nakonfigurovat zálohování pro clustery AKS.

Než začnete

Před konfigurací trezorového zálohování pro cluster AKS se ujistěte, že jsou splněny následující požadavky:

Vytvoření trezoru služby Backup

Pokud chcete vytvořit trezor služby Backup, spusťte následující příkaz:

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

Nově vytvořený trezor má nastavené nastavení úložiště jako Globálně redundantní, takže zálohy uložené ve vrstvě trezoru budou dostupné ve spárované oblasti Azure. Po dokončení vytvoření trezoru vytvořte zásadu zálohování pro ochranu clusterů AKS.

Vytvoření zásad zálohování

Načtěte šablonu zásad pomocí příkazu az dataprotection backup-policy get-default-policy-template.

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

Aktualizujeme výchozí šablonu zásad zálohování a přidáme pravidlo uchovávání informací, které bude uchovávat první úspěšné zálohování za den ve vrstvě trezoru po dobu 30 dnů.


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

Jakmile json zásady obsahuje všechny požadované hodnoty, pokračujte vytvořením nové zásady z objektu zásad.

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

Příprava clusteru AKS na zálohování

Jakmile je vytvoření trezoru a zásad dokončeno, musíte splnit následující předpoklady, abyste připravili cluster AKS na zálohování:

  1. Vytvořte účet úložiště a kontejner blobů.

    Zálohování pro AKS ukládá prostředky Kubernetes do blob kontejneru jako zálohy. Pokud chcete cluster AKS připravit na zálohování, musíte do clusteru nainstalovat rozšíření. Toto rozšíření vyžaduje účet úložiště a kontejner objektů blob jako vstupní údaje.

    Pokud chcete vytvořit nový účet úložiště, spusťte následující příkaz:

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

    Po vytvoření účtu úložiště vytvořte blob kontejner spuštěním následujícího příkazu:

    az storage container create --name $blobcontainer --account-name $storageaccount --auth-mode login
    
  2. Nainstalujte rozšíření zálohování.

    Rozšíření zálohování je povinné nainstalovat v clusteru AKS, aby bylo možné provádět všechny operace zálohování a obnovení. Rozšíření zálohování vytvoří v clusteru obor názvů dataprotection-microsoft a použije jej k nasazení svých prostředků. Rozšíření vyžaduje účet úložiště a kontejner objektů blob jako vstupy pro instalaci.

    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
    

    V rámci instalace rozšíření se identita uživatele vytvoří ve skupině prostředků fondu uzlů clusteru AKS. Aby rozšíření získalo přístup k účtu úložiště, musíte této identitě přidělit roli Přispěvatel dat objektů BLOB úložiště. Pokud chcete přiřadit požadovanou roli, spusťte následující příkaz:

    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. Povolení důvěryhodného přístupu

    Aby se trezor služby Backup mohl připojit ke clusteru AKS, musíte povolit důvěryhodný přístup , protože trezor záloh může mít přímý pohled na cluster AKS.

    Pokud chcete povolit důvěryhodný přístup, spusťte následující příkaz:

    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
    

Konfigurace trezorových záloh pro cluster AKS

S vytvořeným trezorem služby Backup a zásadami zálohování a clusterem AKS v připraveném stavu zálohování teď můžete začít zálohovat cluster AKS.

Příprava požadavku

Konfigurace zálohování se provádí ve dvou krocích:

  1. Připravte konfiguraci zálohování, která definuje, které prostředky clusteru az dataprotection backup-instance initialize-backupconfig se mají zálohovat pomocí příkazu. Příkaz vygeneruje JSON, který můžete podle potřeby aktualizovat a definovat konfiguraci zálohování pro cluster AKS.

    az dataprotection backup-instance initialize-backupconfig --datasource-type AzureKubernetesService > aksbackupconfig.json
    
  2. Připravte příslušný požadavek pomocí příkazu az dataprotection backup-instance initialize a použijte k tomu příslušný trezor, zásady, cluster AKS, konfiguraci zálohování a skupinu prostředků snímků.

    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
    

Teď pomocí výstupu JSON tohoto příkazu nakonfigurujte zálohování clusteru AKS.

Přiřazení požadovaných oprávnění a ověření

S připraveným požadavkem nejprve musíte ověřit, zda jsou požadované role přiřazeny k zapojeným prostředkům spuštěním následujícího příkazu:

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

Pokud ověření selže a chybí určitá oprávnění, můžete je přiřadit spuštěním následujícího příkazu:

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

Jakmile jsou oprávnění přiřazená, znovu proveďte ověření pomocí předchozího příkazu pro zálohování a pokračujte konfigurací zálohování :

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

Další kroky