Sdílet prostřednictvím


Vytvoření zálohy aplikace clusteru Azure Red Hat OpenShift 4

V tomto článku připravíte své prostředí k vytvoření zálohy aplikace clusteru Azure Red Hat OpenShift 4 pomocí Velero. Naučíte se provádět následující úlohy:

  • 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 instalovat nebo upgradovat, podívejte se na Install Azure CLI.

Prerequisites

Install 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. Tato skupina prostředků umožňuje uchování záloh a obnovu aplikací 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í služebního principu

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ává informace o skupině 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

Je potřeba nainstalovat Velero do vlastního projektu a vlastní definice prostředků nezbytné pro provádění záloh a obnov pomocí Velero. 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, musíte zahrnout jmenný prostor 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álohování generuje phase:Completed a objekty jsou uloženy 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, musíte zahrnout obor názvů aplikace a při vytváření zálohy zahrnout snapshot-volumes=true příznak.

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í vytvoří phase:Completed a objekty jsou uloženy v kontejneru v účtu úložiště.

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

Next steps

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.