Vytvoření zálohování aplikací clusteru Azure Red Hat OpenShift 4

V tomto článku připravíte své prostředí na vytvoření zálohy aplikace clusteru Azure Red Hat OpenShift 4. Dozvíte se, jak provést tyto akce:

  • Nastavení požadovaných součástí a instalace potřebných nástrojů
  • Vytvoření zálohy aplikace Azure Red Hat OpenShift 4

Pokud se rozhodnete nainstalovat a používat rozhraní příkazového řádku místně, musíte mít Azure CLI verze 2.6.0 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace Azure CLI.

Než začnete

Instalace Velero

Pokud chcete do systému nainstalovat Velero, postupujte podle doporučeného postupu pro váš operační systém.

Nastavení účtu úložiště Azure a kontejneru objektů blob

Tento krok vytvoří skupinu prostředků mimo skupinu prostředků clusteru ARO. Tato skupina prostředků umožní zálohování uchovávat a může obnovit aplikace do nových clusterů.

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

Nastavení oprávnění pro Velero

Vytvoření instančního objektu

Velero potřebuje oprávnění k zálohování a obnovení. Při vytváření instančního objektu udělujete Velerovi oprávnění pro přístup ke skupině prostředků, kterou definujete v předchozím kroku. Tento krok získá skupinu prostředků clusteru:

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

Instalace Velera v clusteru Azure Red Hat OpenShift 4

Tento krok nainstaluje Velero do vlastního projektu a vlastní definice prostředků potřebné k zálohování a obnovení pomocí Velera. Ujistěte se, že jste úspěšně přihlášení ke clusteru 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"

Vytvoření zálohy pomocí Velero

Pokud chcete vytvořit zálohu aplikace pomocí Velero, budete muset zahrnout obor názvů, ve které je tato aplikace. Pokud máte nginx-example obor názvů a chcete zahrnout všechny prostředky v tomto oboru názvů do zálohy, spusťte v terminálu následující příkaz:

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

Stav zálohování můžete zkontrolovat spuštěním následujícího příkazu:

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

Úspěšná záloha se vypíše phase:Completed a objekty budou v kontejneru v účtu úložiště.

Vytvoření zálohy pomocí Velera pro zahrnutí snímků

Pokud chcete vytvořit zálohu aplikace pomocí Velera, která bude obsahovat trvalé svazky vaší aplikace, budete muset zahrnout obor názvů, ve které je aplikace, a zahrnout snapshot-volumes=true příznak při vytváření zálohy.

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

Stav zálohování můžete zkontrolovat spuštěním následujícího příkazu:

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

Úspěšné zálohování s výstupem phase:Completed a objekty budou v kontejneru v účtu úložiště.

Další informace najdete v tématu Zálohování prostředků OpenShift nativním způsobem.

Další kroky

V tomto článku se zálohovala aplikace clusteru Azure Red Hat OpenShift 4. Naučili jste se:

  • Vytvoření zálohy aplikace clusteru OpenShift v4 pomocí Velero
  • Vytvoření zálohy aplikace clusteru OpenShift v4 se snímky pomocí Velero

V dalším článku se dozvíte, jak vytvořit obnovení aplikace clusteru Azure Red Hat OpenShift 4.