Creare un backup dell'applicazione del cluster Azure Red Hat OpenShift 4

In questo articolo si preparerà l'ambiente per creare un backup dell'applicazione cluster di Azure Red Hat OpenShift 4. Si apprenderà come:

  • Configurare i prerequisiti e installare gli strumenti necessari
  • Creare un backup dell'applicazione Azure Red Hat OpenShift 4

Se si sceglie di installare e usare l'interfaccia della riga di comando in locale, per questa esercitazione è necessario eseguire l'interfaccia della riga di comando di Azure versione 2.6.0 o successiva. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Operazioni preliminari

Installare Velero

Per installare Velero nel sistema, seguire il processo consigliato per il sistema operativo.

Configurare l'account di archiviazione di Azure e il contenitore BLOB

Questo passaggio creerà un gruppo di risorse all'esterno del gruppo di risorse del cluster ARO. Questo gruppo di risorse consentirà di rendere persistenti i backup e di ripristinare le applicazioni in nuovi cluster.

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

Impostare le autorizzazioni per Velero

Creare un'entità servizio

Velero necessita delle autorizzazioni per eseguire backup e ripristini. Quando si crea un'entità servizio, si concede a Velero l'autorizzazione per accedere al gruppo di risorse definito nel passaggio precedente. Questo passaggio fornirà il gruppo di risorse del 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

Installare Velero nel cluster Azure Red Hat OpenShift 4

Questo passaggio installerà Velero nel proprio progetto e le definizioni di risorse personalizzate necessarie per eseguire backup e ripristini con Velero. Assicurarsi di aver eseguito l'accesso a 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"

Creare un backup con Velero

Per creare un backup dell'applicazione con Velero, è necessario includere lo spazio dei nomi in cui si trova l'applicazione. Se si dispone di uno spazio dei nomi nginx-example e si desidera includere tutte le risorse in tale spazio dei nomi nel backup, eseguire il comando seguente nel terminale:

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

È possibile controllare lo stato del backup eseguendo:

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

Un backup riuscito restituirà l'output phase:Completed e gli oggetti si troveranno nel contenitore nell'account di archiviazione.

Creare un backup con Velero per includere gli snapshot

Per creare un backup dell'applicazione con Velero e includere i volumi persistenti dell'applicazione, è necessario includere lo spazio dei nomi in cui si trova l'applicazione e includere il flag snapshot-volumes=true durante la creazione del backup.

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

È possibile controllare lo stato del backup eseguendo:

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

Un backup riuscito restituirà l'output phase:Completed e gli oggetti si troveranno nel contenitore nell'account di archiviazione.

Per altre informazioni, vedere Eseguire il backup delle risorse OpenShift nel modo nativo

Passaggi successivi

In questo articolo è stato eseguito il backup di un'applicazione cluster Azure Red Hat OpenShift 4. Contenuto del modulo:

  • Creare un backup di un'applicazione cluster OpenShift v4 con Velero
  • Creare un backup di un'applicazione cluster OpenShift v4 con snapshot usando Velero

Passare all'articolo successivo per informazioni su come creare un ripristino di un'applicazione cluster di Azure Red Hat OpenShift 4.