Créer une sauvegarde d’application de cluster Azure Red Hat OpenShift 4

Dans cet article, vous allez préparer votre environnement pour créer une sauvegarde d’application de cluster Azure Red Hat OpenShift 4. Vous découvrirez comment effectuer les actions suivantes :

  • Configurer les composants requis et installer les outils nécessaires
  • Créer une sauvegarde d’application Azure Red Hat OpenShift 4

Si vous choisissez d’installer et d’utiliser l’interface de ligne de commande localement, ce tutoriel vous demande d’exécuter Azure CLI version 2.6.0 ou ultérieure. Exécutez az --version pour trouver la version. Si vous devez installer ou mettre à niveau, voir Installer Azure CLI.

Avant de commencer

Installer Velero

Pour installer Velero sur votre système, suivez le processus recommandé pour votre système d’exploitation.

Configurer un compte de stockage Azure et un conteneur de blobs

Cette étape permet de créer un groupe de ressources en dehors du groupe de ressources du cluster ARO. Ce groupe de ressources permet de conserver les sauvegardes et peut restaurer les applications sur de nouveaux clusters.

AZURE_BACKUP_RESOURCE_GROUP=Velero_Backups
az group create -n $AZURE_BACKUP_RESOURCE_GROUP --location eastus

AZURE_STORAGE_ACCOUNT_ID="velero$(uuidgen | cut -d '-' -f5 | tr '[A-Z]' '[a-z]')"
az storage account create \
    --name $AZURE_STORAGE_ACCOUNT_ID \
    --resource-group $AZURE_BACKUP_RESOURCE_GROUP \
    --sku Standard_GRS \
    --encryption-services blob \
    --https-only true \
    --kind BlobStorage \
    --access-tier Hot

BLOB_CONTAINER=velero
az storage container create -n $BLOB_CONTAINER --public-access off --account-name $AZURE_STORAGE_ACCOUNT_ID

Définir des autorisations pour Velero

Créer un principal du service

Velero a besoin d’autorisations pour effectuer des sauvegardes et des restaurations. Lorsque vous créez un principal de service, vous accordez à Velero l’autorisation d’accéder au groupe de ressources que vous avez défini à l’étape précédente. Cette étape permet d’obtenir le groupe de ressources du cluster :

export AZURE_RESOURCE_GROUP=$(az aro show --name <name of cluster> --resource-group <name of resource group> | jq -r .clusterProfile.resourceGroupId | cut -d '/' -f 5,5)
AZURE_SUBSCRIPTION_ID=$(az account list --query '[?isDefault].id' -o tsv)

AZURE_TENANT_ID=$(az account list --query '[?isDefault].tenantId' -o tsv)
AZURE_CLIENT_SECRET=$(az ad sp create-for-rbac --name "velero" --role "Contributor" --query 'password' -o tsv \
--scopes  /subscriptions/$AZURE_SUBSCRIPTION_ID)
AZURE_CLIENT_ID=$(az ad sp list --display-name "velero" --query '[0].appId' -o tsv)

cat << EOF  > ./credentials-velero.yaml
AZURE_SUBSCRIPTION_ID=${AZURE_SUBSCRIPTION_ID}
AZURE_TENANT_ID=${AZURE_TENANT_ID}
AZURE_CLIENT_ID=${AZURE_CLIENT_ID}
AZURE_CLIENT_SECRET=${AZURE_CLIENT_SECRET}
AZURE_RESOURCE_GROUP=${AZURE_RESOURCE_GROUP}
AZURE_CLOUD_NAME=AzurePublicCloud
EOF

Installer Velero sur un cluster Azure Red Hat OpenShift 4

Cette étape installe Velero dans son propre projet et les définitions de ressource personnalisées nécessaires pour effectuer des sauvegardes et des restaurations avec Velero. Vérifiez que vous êtes correctement connecté à un cluster Azure Red Hat OpenShift v4.

velero install \
--provider azure \
--plugins velero/velero-plugin-for-microsoft-azure:v1.1.0 \
--bucket $BLOB_CONTAINER \
--secret-file ~/path/to/credentials-velero.yaml \
--backup-location-config resourceGroup=$AZURE_BACKUP_RESOURCE_GROUP,storageAccount=$AZURE_STORAGE_ACCOUNT_ID \
--snapshot-location-config apiTimeout=15m \
--velero-pod-cpu-limit="0" --velero-pod-mem-limit="0" \
--velero-pod-mem-request="0" --velero-pod-cpu-request="0"

Créer une sauvegarde avec Velero

Pour créer une sauvegarde d’application avec Velero, vous devez inclure l’espace de noms dans lequel se trouve cette application. Si vous disposez d’un espace de noms nginx-example et souhaitez inclure toutes les ressources de cet espace de noms dans la sauvegarde, exécutez la commande suivante dans le terminal :

velero create backup <name of backup> --include-namespaces=nginx-example

Vous pouvez vérifier l’état de la sauvegarde en exécutant :

oc get backups -n velero <name of backup> -o yaml

Une sauvegarde réussie génère phase:Completed et les objets se trouvent dans le conteneur du compte de stockage.

Créer une sauvegarde avec Velero pour inclure des captures instantanées

Pour créer une sauvegarde d’application avec Velero afin d’inclure les volumes persistants de votre application, vous devez inclure l’espace de noms dans lequel se trouve l’application ainsi que l’indicateur snapshot-volumes=true lors de la création de la sauvegarde.

velero backup create <name of backup> --include-namespaces=nginx-example --snapshot-volumes=true --include-cluster-resources=true

Vous pouvez vérifier l’état de la sauvegarde en exécutant :

oc get backups -n velero <name of backup> -o yaml

Une sauvegarde réussie génère phase:Completed et les objets se trouvent dans le conteneur du compte de stockage.

Pour plus d’informations, consultez Sauvegarder des ressources OpenShift de manière native

Étapes suivantes

Dans cet article, une application de cluster Azure Red Hat OpenShift 4 a été sauvegardée. Vous avez appris à :

  • Créer une sauvegarde d’application de cluster OpenShift v4 à l’aide de Velero
  • Créer une sauvegarde d’application de cluster OpenShift v4 avec des captures instantanées à l’aide de Velero

Passez à l’article suivant pour apprendre à créer une restauration d’application de cluster Azure Red Hat OpenShift 4.