Share via


Creación de una copia de seguridad de aplicaciones del clúster de Red Hat OpenShift en Azure 4

En este artículo, prepará el entorno para crear una copia de seguridad de aplicaciones del clúster de Red Hat OpenShift en Azure 4. Aprenderá a:

  • Configurar los requisitos previos e instalar las herramientas necesarias
  • Creación de una copia de seguridad de aplicaciones de Red Hat OpenShift 4 en Azure

Si decide instalar y usar la CLI localmente, en este tutorial es preciso que ejecute la versión 2.6.0 u otra posterior. Ejecute az --version para encontrar la versión. Si necesita instalarla o actualizarla, vea Instalación de la CLI de Azure.

Antes de empezar

Instalación de Velero

Para instalar Velero en el sistema, siga el proceso recomendado para su sistema operativo.

Configuración de un contenedor de blobs y una cuenta de almacenamiento de Azure

En este paso se creará un grupo de recursos fuera del grupo de recursos del clúster de ARO. Este grupo de recursos permitirá que las copias de seguridad se conserven y se puedan restaurar las aplicaciones a los clústeres nuevos.

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

Establecimiento de permisos de Velero

Creación de una entidad de servicio

Velero necesita permisos para realizar copias de seguridad y restauraciones. Al crear una entidad de servicio, se le está asignando el permiso de Velero para acceder al grupo de recursos que definió en el paso anterior. Este paso obtendrá el grupo de recursos del clúster:

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

Instalación de un clúster de Red Hat OpenShift 4 en Azure

En este paso se instalará Velero en su propio proyecto y las definiciones de recursos personalizados necesarios para realizar copias de seguridad y restauraciones con Velero. Asegúrese de que ha iniciado sesión correctamente en un clúster de Red Hat OpenShift en 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"

Crear una copia de seguridad con Velero

Para crear una copia de seguridad de aplicaciones con Velero, debe incluir el espacio de nombres en el que se encuentra esta aplicación. Si tiene un espacio de nombres nginx-example y desea incluir todos los recursos de ese espacio de nombres en la copia de seguridad, ejecute el siguiente comando en el terminal:

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

Puede comprobar el estado de la copia de seguridad ejecutando:

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

Una copia de seguridad correcta generará phase:Completed y los objetos residirán en el contenedor de la cuenta de almacenamiento.

Creación de una copia de seguridad con Velero para incluir instantáneas

Para crear una copia de seguridad de la aplicación con Velero para incluir los volúmenes persistentes de la aplicación, debe incluir el espacio de nombres en el que se encuentra la aplicación y la marca de snapshot-volumes=true al crear la copia de seguridad.

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

Puede comprobar el estado de la copia de seguridad ejecutando:

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

Una copia de seguridad correcta con la salida phase:Completed y los objetos residirán en el contenedor de la cuenta de almacenamiento.

Para obtener más información, consulte la forma nativa de recursos de Backup OpenShift

Pasos siguientes

En este artículo se ha realizado una copia de seguridad de la aplicación del clúster de Red Hat OpenShift 4en Azure. Ha aprendido a:

  • Crear una copia de seguridad de aplicaciones del clúster de OpenShift 4 con Velero
  • Crear una copia de seguridad de aplicaciones del clúster de OpenShift v4 con instantáneas mediante Velero

Vaya al siguiente artículo para aprender a crear una restauración de aplicaciones del clúster de Red Hat OpenShift 4 en Azure.