建立 Azure Red Hat OpenShift 4 叢集應用程式的備份
在本文中,您將準備環境以建立 Azure Red Hat OpenShift 4 叢集應用程式的備份。 您將了解如何:
- 設定必要條件並安裝必要的工具
- 建立 Azure Red Hat OpenShift 4 應用程式的備份
如果您選擇在本機安裝和使用 CLI,本教學課程會要求您執行 Azure CLI 2.6.0 版或更新版本。 執行 az --version
以尋找版本。 如果您需要安裝或升級,請參閱安裝 Azure CLI。
開始之前
安裝 Velero
若要在系統上安裝 Velero,請遵循作業系統的建議流程。
安裝 Azure 儲存體帳戶和 blob 容器
此步驟會在 ARO 叢集的資源群組之外建立資源群組。 此資源群組可讓備份保存,並可將應用程式還原至新的叢集。
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
設定 Velero 的權限
建立服務主體
Velero 需要執行備份和還原的權限。 當您建立服務主體時,您會授與 Velero 權限,以存取您在上一個步驟中定義的資源群組。 此步驟會取得叢集的資源群組:
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
在 Azure Red Hat OpenShift 4 叢集上安裝 Velero
此步驟會將 Velero 安裝至其自己的專案,以及使用 Velero 執行備份和還原所需的自訂資源定義。 請確定您已成功登入 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"
透過 Velero 建立備份
若要使用 Velero 建立應用程式的備份,您必須包含此應用程式所在的命名空間。 如果您有 nginx-example
命名空間,而且想要在備份中包含該命名空間中的所有資源,請在終端機中執行下列命令:
velero create backup <name of backup> --include-namespaces=nginx-example
您可以執行下列命令來檢查備份的狀態:
oc get backups -n velero <name of backup> -o yaml
成功的備份將會輸出 phase:Completed
,而且物件會位於儲存體帳戶的容器中。
使用 Velero 建立備份以包含快照集
若要使用 Velero 建立應用程式的備份,以包含應用程式的永續性磁碟,您必須包含應用程式所在的命名空間,並在建立備份時包含 snapshot-volumes=true
旗標。
velero backup create <name of backup> --include-namespaces=nginx-example --snapshot-volumes=true --include-cluster-resources=true
您可以執行下列命令來檢查備份的狀態:
oc get backups -n velero <name of backup> -o yaml
成功的備份將會輸出 phase:Completed
,而且物件會位於儲存體帳戶的容器中。
如需詳細資訊,請參閱以原生方式備份 OpenShift 資源
下一步
在本文中,會備份 Azure Red Hat OpenShift 4 叢集應用程式。 您已了解如何︰
- 使用 Velero 建立 OpenShift v4 叢集應用程式的備份
- 使用 Velero,建立 OpenShift v4 叢集應用程式的備份 (包含快照集)
請查看下一篇文章,了解如何建立 Azure Red Hat OpenShift 4 叢集應用程式還原。