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.