Partilhar via


Criar um backup de aplicativo de cluster do Azure Red Hat OpenShift 4

Neste artigo, você preparará seu ambiente para criar um backup de aplicativo de cluster do Azure Red Hat OpenShift 4. Saberá como:

  • Configure os pré-requisitos e instale 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á que você esteja executando a CLI do Azure versão 2.6.0 ou posterior. Executar az --version para localizar a versão. Se precisar de instalar ou atualizar, veja Install Azure CLI (Instalar o Azure CLI).

Antes de começar

Instale o Velero

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

Configurar a conta de armazenamento do Azure e o contêiner de Blob

Esta etapa criará um grupo de recursos fora do grupo de recursos do cluster ARO. Esse grupo de recursos permitirá que os backups persistam e poderá 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 Velero

Criar um principal de serviço

O Velero precisa de permissões para fazer backups e restaurações. Ao criar uma entidade de serviço, você está dando permissão ao Velero para acessar o grupo de recursos definido na etapa anterior. Esta etapa obterá o grupo de recursos do 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 em seu próprio projeto e as definições de recursos personalizadas necessárias para fazer backups e restaurações com o Velero. Verifique se você está conectado com êxito a um cluster do 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"

Crie um backup com o Velero

Para criar um backup de aplicativo com o Velero, você precisará incluir o namespace no qual esse aplicativo está. Se você tiver um nginx-example namespace e quiser incluir todos os recursos desse namespace no backup, execute o seguinte comando no terminal:

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

Você pode verificar o status do backup executando:

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

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

Crie um backup com o Velero para incluir snapshots

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

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

Você pode verificar o status do backup executando:

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

Um backup bem-sucedido com saída phase:Completed e os objetos viverão no contêiner na conta de armazenamento.

Para obter mais informações, consulte Backup de recursos do OpenShift de forma nativa

Próximos passos

Neste artigo, foi feito backup de um aplicativo de cluster do Azure Red Hat OpenShift 4. Aprendeu a:

  • Criar um backup de aplicativo de cluster OpenShift v4 usando Velero
  • Crie um backup de aplicativo de cluster OpenShift v4 com snapshots usando Velero

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