使用 Azure 備份來管理 Azure Kubernetes Service 備份
本文說明如何在您的訂用帳戶上註冊資源提供者,以使用備份擴充功能和信任存取。 此外,其也提供 Azure CLI 命令對其進行管理。
Azure 備份現在可讓您使用必須安裝在叢集中的備份擴充功能來備份 AKS 叢集 (叢集資源和連結至叢集的永續性磁碟區)。 AKS 叢集需要啟用備份保存庫的信任存取權,讓保存庫可以與備份擴充功能進行通訊,以執行備份和還原作業。
資源提供者註冊
- 您必須先在訂用帳戶上註冊這些資源提供者,才能起始任何備份和還原作業。
- 註冊完成後,您即可在訂用帳戶下的所有叢集上執行備份和還原作業。
註冊備份擴充功能
若要安裝備份擴充功能,您必須在訂用帳戶上註冊 Microsoft.KubernetesConfiguration
資源提供者。 若要執行註冊,請執行下列命令:
az provider register --namespace Microsoft.KubernetesConfiguration
註冊最多可能需要 10 分鐘的時間。 若要監視註冊程序,請執行下列命令:
az provider show -n Microsoft.KubernetesConfiguration -o table
註冊信任存取
若要啟用備份保存庫與 AKS 叢集之間的信任存取,您必須在訂用帳戶的 Microsoft.ContainerService 上註冊 TrustedAccessPreview 功能旗標。 若要執行註冊,請執行下列命令:
啟用功能旗標
若要啟用此功能旗標,請遵循下列步驟:
安裝 aks-preview 擴充功能:
az extension add --name aks-preview
更新為已發行的最新版擴充功能:
az extension update --name aks-preview
註冊 TrustedAccessPreview 功能旗標:
az feature register --namespace "Microsoft.ContainerService" --name "TrustedAccessPreview"
狀態需要幾分鐘的時間才會顯示「已註冊」。
確認註冊狀態:
az feature show --namespace "Microsoft.ContainerService" --name "TrustedAccessPreview"
狀態顯示「已註冊」時,請重新整理
Microsoft.ContainerService
資源提供者註冊:az provider register --namespace Microsoft.ContainerService
備份擴充功能相關作業
本節提供一組 Azure CLI 命令,可在備份擴充功能上執行建立、更新或刪除作業。 您可以使用 update 命令來變更基礎備份擴充功能 Pod 的計算限制。
安裝備份擴充功能
若要安裝備份擴充功能,請執行下列命令:
az k8s-extension create --name azure-aks-backup --extension-type microsoft.dataprotection.kubernetes --scope cluster --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg> --release-train stable --configuration-settings blobContainer=<containername> storageAccount=<storageaccountname> storageAccountResourceGroup=<storageaccountrg> storageAccountSubscriptionId=<subscriptionid>
檢視備份擴充功能安裝狀態
若要檢視備份擴充功能安裝進度,請使用下列命令:
az k8s-extension show --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg>
更新備份擴充功能中的資源
若要更新備份擴充功能中的 Blob 容器、CPU 和記憶體,請使用下列命令:
az k8s-extension update --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg> --release-train stable --configuration-settings [blobContainer=<containername> storageAccount=<storageaccountname> storageAccountResourceGroup=<storageaccountrg> storageAccountSubscriptionId=<subscriptionid>] [cpuLimit=1] [memoryLimit=1Gi]
[]: denotes the 3 different sub-groups of updates possible (discard the brackets while using the command)
刪除備份擴充功能安裝作業
若要停止備份擴充功能安裝作業,請使用下列命令:
az k8s-extension delete --name azure-aks-backup --cluster-type managedClusters --cluster-name <aksclustername> --resource-group <aksclusterrg>
授與儲存體帳戶的權限
若要為儲存體帳戶上的擴充功能身分識別提供儲存體帳戶參與者權限,請執行下列命令:
az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name <aksclustername> --resource-group <aksclusterrg> --cluster-type managedClusters --query identity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/<subscriptionid>/resourceGroups/<storageaccountrg>/providers/Microsoft.Storage/storageAccounts/<storageaccountname>
信任存取相關作業
若要啟用備份保存庫與 AKS 叢集之間的信任存取,請使用下列 Azure CLI 命令:
az aks trustedaccess rolebinding create \
-g <aksclusterrg> \
--cluster-name <aksclustername> \
-n <randomRoleBindingName> \
--source-resource-id $(az dataprotection backup-vault show -g <vaultrg> --vault <VaultName> --query id -o tsv) \
--roles Microsoft.DataProtection/backupVaults/backup-operator
深入了解與信任存取相關的其他命令。