Condividi tramite


Creare un backup di un'applicazione cluster di Azure Red Hat OpenShift 4

In questo articolo si prepara l'ambiente per creare un backup dell'applicazione cluster azure Red Hat OpenShift 4 usando Velero. Si apprenderà come eseguire le attività seguenti:

  • 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. Per trovare la versione, eseguire az --version. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.

Prerequisites

Install 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 crea un gruppo di risorse all'esterno del gruppo di risorse del cluster. Questo gruppo di risorse consente 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 ottiene 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

È necessario installare Velero nel proprio progetto e le definizioni di risorse personalizzate necessarie per eseguire backup e ripristini con Velero. Assicurati di aver eseguito correttamente 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 dell'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 produce phase:Completed e gli oggetti vengono memorizzati nel contenitore nell'account di archiviazione.

Creare un backup con Velero per includere gli snapshot

Per creare un backup dell'applicazione con Velero per includere i volumi permanenti dell'applicazione, è necessario includere lo spazio dei nomi dell'applicazione e includere il snapshot-volumes=true flag quando si crea il 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 produce phase:Completed e gli oggetti vengono archiviati nel contenitore nell'account di archiviazione.

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

Next steps

In questo articolo è stato eseguito il backup di un'applicazione cluster Azure Red Hat OpenShift 4. Ecco cosa hai imparato a fare:

  • 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.