Tworzenie kopii zapasowej aplikacji klastra usługi Azure Red Hat OpenShift 4

W tym artykule przygotujesz środowisko do utworzenia kopii zapasowej aplikacji klastra usługi Azure Red Hat OpenShift 4. Omawiane tematy:

  • Konfigurowanie wymagań wstępnych i instalowanie niezbędnych narzędzi
  • Tworzenie kopii zapasowej aplikacji usługi Azure Red Hat OpenShift 4

Jeśli zdecydujesz się zainstalować interfejs wiersza polecenia i korzystać z niego lokalnie, ten samouczek będzie wymagał interfejsu wiersza polecenia platformy Azure w wersji 2.6.0 lub nowszej. Uruchom polecenie az --version, aby dowiedzieć się, jaka wersja jest używana. Jeśli konieczna będzie instalacja lub uaktualnienie, zobacz Instalowanie interfejsu wiersza polecenia platformy Azure.

Zanim rozpoczniesz

Instalowanie platformy Velero

Aby zainstalować rozwiązanie Velero w systemie, postępuj zgodnie z zalecanym procesem dla systemu operacyjnego.

Konfigurowanie konta usługi Azure Storage i kontenera obiektów blob

Ten krok spowoduje utworzenie grupy zasobów poza grupą zasobów klastra ARO. Ta grupa zasobów umożliwi utrwalanie kopii zapasowych i przywracanie aplikacji do nowych klastrów.

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

Ustawianie uprawnień dla platformy Velero

Tworzenie jednostki usługi

Velero potrzebuje uprawnień do tworzenia kopii zapasowych i przywracania. Podczas tworzenia jednostki usługi dajesz Velero uprawnienie dostępu do grupy zasobów zdefiniowanej w poprzednim kroku. Ten krok spowoduje pobranie grupy zasobów klastra:

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

Instalowanie rozwiązania Velero w klastrze usługi Azure Red Hat OpenShift 4

Ten krok spowoduje zainstalowanie platformy Velero we własnym projekcie oraz niestandardowych definicji zasobów niezbędnych do wykonywania kopii zapasowych i przywracania za pomocą platformy Velero. Upewnij się, że pomyślnie zalogowano się do klastra usługi Azure Red Hat OpenShift w wersji 4.

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"

Tworzenie kopii zapasowej za pomocą platformy Velero

Aby utworzyć kopię zapasową aplikacji za pomocą usługi Velero, musisz uwzględnić przestrzeń nazw, w której znajduje się ta aplikacja. Jeśli masz nginx-example przestrzeń nazw i chcesz uwzględnić wszystkie zasoby w tej przestrzeni nazw w kopii zapasowej, uruchom następujące polecenie w terminalu:

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

Stan kopii zapasowej można sprawdzić, uruchamiając polecenie:

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

Pomyślna kopia zapasowa spowoduje utworzenie danych wyjściowych phase:Completed , a obiekty będą aktywne w kontenerze na koncie magazynu.

Tworzenie kopii zapasowej za pomocą usługi Velero w celu uwzględnienia migawek

Aby utworzyć kopię zapasową aplikacji za pomocą usługi Velero w celu uwzględnienia trwałych woluminów aplikacji, należy uwzględnić przestrzeń nazw, w której znajduje się aplikacja, i dołączyć flagę snapshot-volumes=true podczas tworzenia kopii zapasowej.

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

Stan kopii zapasowej można sprawdzić, uruchamiając polecenie:

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

Pomyślna kopia zapasowa z danymi wyjściowymi phase:Completed i obiekty będą aktywne w kontenerze na koncie magazynu.

Aby uzyskać więcej informacji, zobacz Backup OpenShift resources the native way (Tworzenie kopii zapasowych zasobów OpenShift w sposób natywny)

Następne kroki

W tym artykule utworzono kopię zapasową aplikacji klastra usługi Azure Red Hat OpenShift 4. W tym samouczku omówiono:

  • Tworzenie kopii zapasowej aplikacji klastra OpenShift w wersji 4 przy użyciu platformy Velero
  • Tworzenie kopii zapasowej aplikacji klastra OpenShift w wersji 4 z migawkami przy użyciu platformy Velero

Przejdź do następnego artykułu, aby dowiedzieć się, jak utworzyć przywracanie aplikacji klastra usługi Azure Red Hat OpenShift 4.