Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, Azure CLI kullanarak bir Azure Kubernetes Service (AKS) kümesi için kasalı yedeklemenin nasıl yapılandırıldığı açıklanmaktadır.
AKS için Azure Backup, AKS kümeleri için yedeklemeyi hızlı bir şekilde yapılandırmanıza olanak tanıyan buluta özel, kurumsal kullanıma hazır, uygulama merkezli bir yedekleme hizmetidir.
Başlamadan önce
AKS kümesi için kasalı yedeklemeyi yapılandırmadan önce aşağıdaki önkoşulların karşılandığından emin olun:
- AKS yedeklemesi için yedekleme işlemini başlatmadan önce tüm önkoşulları gerçekleştirin.
Backup kasası oluşturma
Backup kasasını oluşturmak için aşağıdaki komutu çalıştırın:
az dataprotection backup-vault create --resource-group $backupvaultresourcegroup --vault-name $backupvault --location $region --type SystemAssigned --storage-settings datastore-type="VaultStore" type="GeoRedundant"
Yeni oluşturulan kasanın depolama ayarları Genel Olarak Yedekli olarak ayarlandığından, bu kasadaki yedeklemeler Azure eşleştirilmiş bölgesinde kullanılabilir olacaktır. Kasa oluşturma işlemi tamamlandıktan sonra AKS kümelerini korumak için bir yedekleme ilkesi oluşturun.
Yedekleme ilkesi oluşturma
komutunu az dataprotection backup-policy get-default-policy-templatekullanarak ilke şablonunu alın.
az dataprotection backup-policy get-default-policy-template --datasource-type AzureKubernetesService > akspolicy.json
Yedekleme ilkesi için varsayılan şablonu güncelleştirir ve Kasa katmanındagünde ilk başarılı yedeklemeyi 30 gün boyunca tutmak için bir bekletme kuralı ekleriz.
az dataprotection backup-policy retention-rule create-lifecycle --count 30 --retention-duration-type Days --copy-option ImmediateCopyOption --target-datastore VaultStore --source-datastore OperationalStore > ./retentionrule.json
az dataprotection backup-policy retention-rule set --lifecycles ./retentionrule.json --name Daily --policy ./akspolicy.json > ./akspolicy.json
İlke JSON tüm gerekli değerleri aldıktan sonra, ilke nesnesinden yeni bir ilke oluşturmaya devam edin.
az dataprotection backup-policy create -g testBkpVaultRG --vault-name TestBkpVault -n mypolicy --policy akspolicy.json
AKS kümesini yedekleme için hazırlama
Kasa ve ilke oluşturma işlemi tamamlandıktan sonra AKS kümesini yedeklemeye hazır yapmak için aşağıdaki önkoşulları gerçekleştirmeniz gerekir:
Depolama hesabı ve blob kapsayıcısı oluşturun.
AKS için yedekleme, Kubernetes kaynaklarını bir blob kapsayıcısında yedek olarak depolar. AKS kümesini yedeklemeye hazırlamak için kümeye bir uzantı yüklemeniz gerekir. Bu uzantı için giriş olarak depolama hesabı ve blob kapsayıcısı gerekir.
Yeni bir depolama hesabı oluşturmak için aşağıdaki komutu çalıştırın:
az storage account create --name $storageaccount --resource-group $storageaccountresourcegroup --location $region --sku Standard_LRSDepolama hesabı oluşturma işlemi tamamlandıktan sonra, aşağıdaki komutu çalıştırarak içinde bir blob kapsayıcısı oluşturun:
az storage container create --name $blobcontainer --account-name $storageaccount --auth-mode loginYedekleme Uzantısı'nı yükleyin.
Yedekleme ve geri yükleme işlemlerini gerçekleştirmek için AKS kümesine Yedekleme Uzantısının yüklenmesi zorunludur. Yedekleme Uzantısı, kümede bir ad alanı
dataprotection-microsoftoluşturur ve kaynaklarını dağıtmak için aynı ad alanını kullanır. Uzantı, yükleme için giriş olarak depolama hesabı ve blob kapsayıcısı gerektirir.az k8s-extension create --name azure-aks-backup --extension-type microsoft.dataprotection.kubernetes --scope cluster --cluster-type managedClusters --cluster-name $akscluster --resource-group $aksclusterresourcegroup --release-train stable --configuration-settings blobContainer=$blobcontainer storageAccount=$storageaccount storageAccountResourceGroup=$storageaccountresourcegroup storageAccountSubscriptionId=$subscriptionIdUzantı yüklemesinin bir parçası olarak AKS kümesinin Düğüm Havuzu Kaynak Grubunda bir kullanıcı kimliği oluşturulur. Uzantının depolama hesabına erişmesi için bu kimliğe Depolama Blobu Veri Katkıda Bulunanı rolünü vermeniz gerekir. Gerekli rolü atamak için aşağıdaki komutu çalıştırın:
az role assignment create --assignee-object-id $(az k8s-extension show --name azure-aks-backup --cluster-name $akscluster --resource-group $aksclusterresourcegroup --cluster-type managedClusters --query aksAssignedIdentity.principalId --output tsv) --role 'Storage Blob Data Contributor' --scope /subscriptions/$subscriptionId/resourceGroups/$storageaccountresourcegroup/providers/Microsoft.Storage/storageAccounts/$storageaccountGüvenilen Erişimi Etkinleştir
Backup kasasının AKS kümesine bağlanması için, Backup kasasının AKS kümesine doğrudan bir görüş hattına sahip olmasına izin verdiğinden Güvenilen Erişim'i etkinleştirmeniz gerekir.
Güvenilen Erişim'i etkinleştirmek için aşağıdaki komutu çalıştırın:
az aks trustedaccess rolebinding create --cluster-name $akscluster --name backuprolebinding --resource-group $aksclusterresourcegroup --roles Microsoft.DataProtection/backupVaults/backup-operator --source-resource-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/BackupVaults/$backupvault
AKS kümesi için vault yedeklemelerini yapılandırma
Oluşturulan Yedekleme kasası ve yedekleme ilkesi ve AKS kümesi yedeklenmeye hazır durumda olduğu için artık AKS kümenizi yedeklemeye başlayabilirsiniz.
İsteği hazırlama
Yedekleme yapılandırması iki adımda gerçekleştirilir:
Komutunu kullanarak
az dataprotection backup-instance initialize-backupconfighangi küme kaynaklarının yedekleneceklerini tanımlamak için yedekleme yapılandırmasını hazırlayın. komutu, AKS kümenizin yedekleme yapılandırmasını gerektiği gibi tanımlayacak şekilde güncelleştirebileceğiniz bir JSON oluşturur.az dataprotection backup-instance initialize-backupconfig --datasource-type AzureKubernetesService > aksbackupconfig.jsonİlgili isteği hazırlamak için ilgili kasayı, ilkeyi, AKS kümesini, yedekleme yapılandırmasını ve anlık görüntü kaynak grubunu kullanarak
az dataprotection backup-instance initializekomutunu kullanın.az dataprotection backup-instance initialize --datasource-id /subscriptions/$subscriptionId/resourceGroups/$aksclusterresourcegroup/providers/Microsoft.ContainerService/managedClusters/$akscluster --datasource-location $region --datasource-type AzureKubernetesService --policy-id /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault/backupPolicies/$backuppolicy --backup-configuration ./aksbackupconfig.json --friendly-name ecommercebackup --snapshot-resource-group-name $snapshotresourcegroup > backupinstance.json
Şimdi aks kümesi için yedeklemeyi yapılandırmak için bu komutun JSON çıkışını kullanın.
Gerekli izinleri atama ve doğrulama
İstek hazırlandığında, önce aşağıdaki komutu çalıştırarak gerekli rollerin ilgili kaynaklara atandığını doğrulamanız gerekir:
az dataprotection backup-instance validate-for-backup --backup-instance ./backupinstance.json --ids /subscriptions/$subscriptionId/resourceGroups/$backupvaultresourcegroup/providers/Microsoft.DataProtection/backupVaults/$backupvault
Doğrulama başarısız olursa ve bazı izinler eksikse, aşağıdaki komutu çalıştırarak bunları atayabilirsiniz:
az dataprotection backup-instance update-msi-permissions command.
az dataprotection backup-instance update-msi-permissions --datasource-type AzureKubernetesService --operation Backup --permissions-scope ResourceGroup --vault-name $backupvault --resource-group $backupvaultresourcegroup --backup-instance backupinstance.json
İzinler atandıktan sonra, önceki yedekleme için doğrula komutunu kullanarak yeniden doğrulayın ve ardından yedeklemeyi yapılandırmaya devam edin:
az dataprotection backup-instance create --backup-instance backupinstance.json --resource-group $backupvaultresourcegroup --vault-name $backupvault
Sonraki adımlar
- Azure CLI kullanarak Azure Kubernetes Service kümesini geri yükleme
- Azure Kubernetes Service küme yedeklemelerini yönetme
- Azure Kubernetes Service küme yedeklemesi hakkında