Partager via


Démarrage rapide : configurer la sauvegarde archivée d’un cluster Azure Kubernetes Service (AKS) à l’aide de Azure CLI

Ce guide de démarrage rapide explique comment configurer la sauvegarde archivée d’un cluster Azure Kubernetes Service (AKS) à l’aide de Azure CLI.

Sauvegarde Azure pour AKS est un service de sauvegarde cloud natif, adapté aux entreprises et centré sur les applications, qui vous permet de configurer rapidement la sauvegarde des clusters AKS.

Avant de commencer

Avant de configurer la sauvegarde archivée pour un cluster AKS, vérifiez que les conditions préalables suivantes sont remplies :

  • Remplissez tous les prérequis avant de démarrer l’opération de sauvegarde pour la sauvegarde AKS.

Créer un coffre de sauvegarde

Pour créer le coffre de sauvegarde, exécutez la commande suivante :

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

Le coffre nouvellement créé a des paramètres de stockage définis comme étant globalement redondants, les sauvegardes stockées au niveau du coffre sont donc disponibles dans la région jumelée Azure. Une fois la création du coffre terminée, créez une stratégie de sauvegarde pour protéger les clusters AKS.

Créer une stratégie de sauvegarde

Récupérez le modèle de stratégie à l’aide de la commande az dataprotection backup-policy get-default-policy-template.

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

Nous mettons à jour le modèle par défaut de la stratégie de sauvegarde et ajoutons une règle de rétention pour conserver la première sauvegarde réussie par jour dans le niveau Coffre pendant 30 jours.


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

Une fois que la stratégie JSON a toutes les valeurs souhaitées, passez à la création d’une nouvelle stratégie à partir de l’objet de stratégie.

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

Préparer le cluster AKS pour la sauvegarde

Une fois la création du coffre et de la stratégie terminée, vous devez remplir les conditions préalables suivantes pour préparer le cluster AKS pour la sauvegarde :

  1. Créer un compte de stockage et un conteneur d’objets blob.

    La sauvegarde pour AKS stocke les ressources Kubernetes dans un conteneur d’objets blob sous la forme de sauvegardes. Pour préparer le cluster AKS pour la sauvegarde, vous devez installer une extension dans le cluster. Cette extension nécessite le compte de stockage et le conteneur d’objets blob comme entrées.

    Pour créer un nouveau compte de stockage, exécutez la commande suivante :

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

    Une fois la création du compte de stockage terminée, créez un conteneur d’objets blob à l’intérieur en exécutant la commande suivante :

    az storage container create --name $blobcontainer --account-name $storageaccount --auth-mode login
    
  2. Installer l’extension de sauvegarde.

    L’extension de sauvegarde est obligatoire pour être installée dans le cluster AKS pour effectuer toutes les opérations de sauvegarde et de restauration. L’extension de sauvegarde crée un espace de noms dataprotection-microsoft dans le cluster et l’utilise pour déployer ses ressources. L’extension nécessite le compte de stockage et le conteneur d’objets blob comme entrées pour l’installation.

    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
    

    Dans le cadre de l’installation de l’extension, une identité d’utilisateur est créée dans le groupe de ressources du pool de nœuds du cluster AKS. Pour que l’extension accède au compte de stockage, vous devez fournir à cette identité le rôle Contributeur aux données blob de stockage. Pour attribuer le rôle requis, exécutez la commande suivante :

    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. Activer l’accès approuvé

    Pour que le coffre de sauvegarde se connecte au cluster AKS, vous devez activer l’Accès approuvé, car il permet au coffre de sauvegarde d’avoir une vue directe sur le cluster AKS.

    Pour activer l’Accès approuvé, exécutez la commande suivante :

    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
    

Configurer des sauvegardes en coffre pour un cluster AKS

Avec le coffre de sauvegarde et la stratégie de sauvegarde créés, et le cluster AKS à l’état prêt à être sauvegardé , vous pouvez maintenant commencer à sauvegarder votre cluster AKS.

Préparer la requête

La configuration de la sauvegarde s’effectue en deux étapes :

  1. Préparez la configuration de sauvegarde pour définir les ressources de cluster à sauvegarder à l’aide de la commande az dataprotection backup-instance initialize-backupconfig. La commande génère un JSON que vous pouvez mettre à jour pour définir la configuration de sauvegarde de votre cluster AKS en fonction des besoins.

    az dataprotection backup-instance initialize-backupconfig --datasource-type AzureKubernetesService > aksbackupconfig.json
    
  2. Préparez la requête appropriée à l’aide du coffre, de la stratégie, du cluster AKS, de la configuration de sauvegarde et du groupe de ressources d’instantanés appropriés à l’aide de la commande 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
    

À présent, utilisez la sortie JSON de cette commande pour configurer la sauvegarde du cluster AKS.

Attribuer les autorisations requises et valider

Une fois la requête préparée, vous devez d’abord vérifier si les rôles requis sont attribués aux ressources attribuées ci-dessus en exécutant la commande suivante :

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

Si la validation échoue et qu’il manque certaines autorisations, vous pouvez les attribuer en exécutant la commande suivante :

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

Une fois les autorisations attribuées, revalidez à l’aide de la commande de validation précédente pour la commande de sauvegarde, puis passez à la configuration de la sauvegarde :

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

Étapes suivantes