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.