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.