Criar um Backup de Aplicativo de cluster do Red Hat OpenShift 4 no Azure

Neste artigo, você vai preparar seu ambiente para criar um backup de aplicativo de cluster do Red Hat OpenShift 4 no Azure. Você aprenderá a:

  • Configurar os pré-requisitos e instalar as ferramentas necessárias
  • Criar um backup de aplicativo do Azure Red Hat OpenShift 4

Se você optar por instalar e usar a CLI localmente, este tutorial exigirá a execução da CLI do Azure versão 2.6.0 ou posterior. Execute az --version para encontrar a versão. Se você precisa instalar ou atualizar, consulte Instalar a CLI do Azure.

Antes de começar

Instalar o Velero

Para instalar o Velero no sistema, siga o processo recomendado para seu sistema operacional.

Criar uma conta de armazenamento do Azure e um contêiner de blob

Esta etapa criará um grupo de recursos fora do grupo de recursos de cluster do ARO. Esse grupo de recursos permitirá que os backups sejam persistentes e possam restaurar aplicativos para novos 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

Definir permissões para o Velero

Criar entidade de serviço

O Velero precisa de permissões para fazer backups e restaurações. Ao criar uma entidade de serviço, você concede permissão ao Velero para acessar o grupo de recursos definido na etapa anterior. Esta etapa obterá o grupo de recursos de 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

Instalar o Velero no cluster do Azure Red Hat OpenShift 4

Esta etapa instalará o Velero no próprio projeto e as definições de recursos personalizados necessárias para fazer backups e restaurações com o Velero. Verifique se você fez logon em um cluster do Red Hat OpenShift no Azure 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"

Criar um backup com o Velero

Para criar um backup de aplicativo com o Velero, você precisará incluir o namespace em que o aplicativo está contido. Se você quiser incluir todos os recursos do namespace nginx-example no backup, execute o seguinte comando no terminal:

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

Para verificar o status do backup, você pode executar:

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

Um backup bem-sucedido mostrará phase:Completed e os objetos residirão no contêiner na conta de armazenamento.

Criar um backup com o Velero para incluir instantâneos

Para criar um backup de aplicativo com o Velero para incluir os volumes persistentes do seu aplicativo, você precisará incluir o namespace em que o aplicativo está contido e incluir o sinalizador snapshot-volumes=true ao criar o backup.

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

Para verificar o status do backup, você pode executar:

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

Um backup bem-sucedido mostrará phase:Completed e os objetos residirão no contêiner na conta de armazenamento.

Para obter mais informações, confira Backup dos recursos do OpenShift de maneira nativa.

Próximas etapas

Neste artigo, criamos um backup de aplicativo de cluster do Red Hat OpenShift 4 no Azure. Você aprendeu a:

  • Criar um backup de aplicativo de cluster OpenShift v4 usando o Velero
  • Criar um backup de aplicativo de cluster OpenShift v4 com instantâneo usando o Velero

Passe para o próximo artigo para saber como criar uma restauração do aplicativo de cluster do Red Hat OpenShift 4 no Azure.