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 makalede, Azure PowerShell kullanarak Azure Kubernetes Service'i (AKS) yapılandırma ve yedekleme açıklanmaktadır.
Azure Backup artık kümeye yüklenmesi gereken bir yedekleme uzantısı kullanarak AKS kümelerini (küme kaynakları ve kümeye bağlı kalıcı birimler) yedeklemenize olanak tanır. Yedekleme kasası, yedekleme ve geri yükleme işlemlerini gerçekleştirmek için bu Yedekleme Uzantısı aracılığıyla kümeyle iletişim kurar.
Önkoşullar
AKS kümesini yedeklemeye başlamadan önce aşağıdaki önkoşulları gözden geçirdiğinizden emin olun:
Şu anda AKS yedeklemesi yalnızca Azure Disk tabanlı kalıcı birimleri (CSI sürücüsü tarafından etkinleştirilmiştir) destekler. Yedeklemeler yalnızca işletimsel veri deposunda (kiracınızda) depolanır ve kasaya taşınmaz. Backup kasası ve AKS kümesi aynı bölgede olmalıdır.
AKS yedeklemesi, yedeklemeleri depolamak için bir blob kapsayıcısı ve kaynak grubu kullanır. Blob kapsayıcısında AKS kümesi kaynakları depolanırken, kalıcı birim anlık görüntüleri kaynak grubunda depolanır. AKS kümesi ve depolama konumları aynı bölgede bulunmalıdır. Blob kapsayıcısı oluşturmayı öğrenin.
Şu anda AKS yedeklemesi günde bir kez yedeklemeyi destekler. Ayrıca günde daha sık yedeklemeleri (her 4, 8 ve 12 saatlik aralıklarla) destekler. Bu çözüm, verilerinizi 360 güne kadar geri yükleme için tutmanızı sağlar. Yedekleme ilkesi oluşturmayı öğrenin.
AKS kümesinde yedekleme ve geri yükleme işlemlerini yapılandırmak için Yedekleme Uzantısı'nı yüklemeniz gerekir. Yedekleme Uzantısı hakkında daha fazla bilgi edinin.
Microsoft.KubernetesConfigurationYedekleme yapılandırmasını veMicrosoft.DataProtectiongeri yükleme işlemlerini başlatmadan önce aboneliğiniz için ,Microsoft.ContainerServiceve 'nin kayıtlı olduğundan emin olun.AKS yedeklemesi için yedekleme veya geri yükleme işlemini başlatmadan önce tüm önkoşulları gerçekleştirdiğinden emin olun.
Desteklenen senaryolar, sınırlamalar ve kullanılabilirlik hakkında daha fazla bilgi için bkz . destek matrisi.
AKS yedeklemesi için Yedekleme kasası oluşturma
Backup kasası, Azure'da PostgreSQL için Azure Veritabanı sunucuları ve Azure Diskleri gibi Azure Backup'ın desteklediği daha yeni iş yükleri için yedekleme verilerini depolayan bir yönetim varlığıdır. Yedekleme kasaları, yönetim ek yükünü en aza indirirken yedekleme verilerinizi düzenlemenizi kolaylaştırır. Bunlar, yedekleme verilerinin güvenliğini sağlamaya yardımcı olmak için gelişmiş özellikler sağlayan Azure Resource Manager modelini temel alır. Backup kasası oluşturmadan önce kasadaki verilerin depolama yedekliliğini seçin ve ardından bu depolama yedekliliği ve konumuyla Backup kasasını oluşturun.
Burada, testBkpVaultRG kaynak grubu altında Batı ABD bölgesinde bir Backup kasası TestBkpVault oluşturuyoruz.
New-AzDataProtectionBackupVault Backup kasası oluşturmak için cmdlet'ini kullanın. Backup kasası oluşturma hakkında daha fazla bilgi edinin.
Not
Seçilen kasada genel yedeklilik ayarı olsa da AKS için yedekleme şu anda yalnızca İşlem Katmanı'nı destekler. Tüm yedeklemeler aboneliğinizde AKS kümesiyle aynı bölgede depolanır ve Backup kasası depolama alanına kopyalanmaz.
Backup kasasının depolama ayarlarını tanımlamak için aşağıdaki cmdlet'i çalıştırın:
Not
Kasa yalnızca Yerel Yedeklilik ve İşletimsel Veri deposu desteğiyle oluşturulur.
$storageSetting = New-AzDataProtectionBackupVaultStorageSettingObject -Type LocallyRedundant -DataStoreType OperationalStoreDaha önce bahsedilen ayrıntılara göre Backup kasasını oluşturmak için aşağıdaki cmdlet'i çalıştırın:
New-AzDataProtectionBackupVault -ResourceGroupName testBkpVaultRG -VaultName TestBkpVault -Location westus -StorageSetting $storageSetting $TestBkpVault = Get-AzDataProtectionBackupVault -VaultName TestBkpVault
Kasa oluşturma işlemi tamamlandıktan sonra AKS kümelerini korumak için bir yedekleme ilkesi oluşturun.
AKS kümesi için yedekleme ilkesi oluşturma
Azure Backup, GÜNLÜK yedeklemeler veya Günde birden çok yedekleme ile AKS Kümesi koruması için yedekleme ilkeleri oluşturmanıza olanak tanır.
AKS Kümesi için bir yedekleme ilkesi oluşturmak için aşağıdaki cmdlet'leri çalıştırın:
cmdlet'ini
Get-AzDataProtectionPolicyTemplatekullanarak ilke şablonunu getirin ve AKS yedeklemesi için yedekleme ilkesinin iç bileşenlerini denetleyin. Bu komut, belirli bir veri kaynağı türü için varsayılan ilke şablonunu döndürür. Yeni bir ilke oluşturmak için bu ilke şablonunu kullanın.$policyDefn = Get-AzDataProtectionPolicyTemplate -DatasourceType AzureKubernetesServiceİlke şablonu bir tetikleyici ölçütlerinden (yedekleme işini tetikleme faktörlerine karar veren) ve bir yaşam döngüsünden (yedeklemelerin ne zaman silineceğine, kopyalandığına veya taşıneceğine karar veren) oluşur. AKS yedeklemesinde, tetikleyici için varsayılan değer zamanlanmış saatlik tetikleyicidir ve her yedeklemeninsaklama süresi 7 gündür.
$policyDefn.PolicyRule[0]. Trigger | fl ObjectType: ScheduleBasedTriggerContext ScheduleRepeatingTimeInterval: {R/2023-04-05T13:00:00+00:00/PT4H} TaggingCriterion: {Default} $policyDefn.PolicyRule[1]. Lifecycle | fl DeleteAfterDuration: P7D DeleteAfterObjectType: AbsoluteDeleteOption SourceDataStoreObjectType : DataStoreInfoBase SourceDataStoreType: OperationalStore TargetDataStoreCopySetting:Günlük yedekleme sıklığı için yedeklemelerinizin alınması gereken günün saatini belirtin.
Önemli
Günün saati, yedeklemenin tamamlanma zamanını değil yedekleme başlangıç saatini gösterir. Yedekleme işlemini tamamlamak için gereken süre, kalıcı birimlerin sayısı ve boyutu ile ardışık yedeklemeler arasındaki değişim oranı gibi çeşitli faktörlere bağlıdır.
AKS için yedekleme, günde birden çok yedekleme sağlar. Her 4, 6, 8 veya 12 saatte bir aralıklarla yedekleme alabilen Saatlik yedekleme sıklığını seçerek daha sık yedeklemeye ihtiyaç duyarsanız yedeklemeler gün boyunca eşit şekilde dağıtılır. Yedeklemeler, seçtiğiniz Zaman aralığına göre zamanlanır. Örneğin, Her 4 saatte bir'i seçerseniz yedeklemeler yaklaşık olarak 4 saatte bir alınır.
Saatlik sıklığı veya saklama süresini düzenlemek istiyorsanız ve/veya
Edit-AzDataProtectionPolicyTriggerClientObjectcmdlet'lerini kullanınEdit-AzDataProtectionPolicyRetentionRuleClientObject. İlke nesnesi tüm gerekli değerleri aldıktan sonra, cmdlet'ini kullanarakNew-AzDataProtectionBackupPolicyilke nesnesinden yeni bir ilke oluşturmaya başlayın.New-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name aksBkpPolicy -Policy $policyDefn $aksBkpPol = Get-AzDataProtectionBackupPolicy -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "aksBkpPolicy"
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şturma
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ı ve blob kapsayıcısı oluşturmak için şu adımlara bakın.
Not
- Depolama hesabı ve AKS kümesi aynı bölgede ve abonelikte olmalıdır.
- Blob kapsayıcısı daha önce oluşturulmuş hiçbir dosya sistemi (AKS için yedekleme tarafından oluşturulanlar dışında) içermemelidir.
- Kaynak veya hedef AKS kümeniz özel bir sanal ağdaysa, depolama hesabını AKS kümesine bağlamak için Özel Uç Nokta oluşturmanız gerekir.
Yedekleme Uzantısını Yükleme
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. Uzantı yükleme komutları hakkında bilgi edinin.Uzantı 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 Hesabı Katkıda Bulunanı rolünü sağlamanız gerekir. Gerekli rolü atamak için şu komutu çalıştırın
Gü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şimi etkinleştirmeyi öğrenin.
Not
Yedekleme Uzantısı yükleme ve Güvenilen Erişim etkinleştirme için komutlar yalnızca Azure CLI'da kullanılabilir.
AKS kümesi için yedeklemeleri 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.
Önemli varlıklar
Korunacak AKS kümesi
Korunacak AKS kümesinin Azure Resource Manager kimliğini getirin. Bu, kümenin tanımlayıcısı olarak görev görür. Bu örnekte, farklı bir abonelikte bir kaynak grubu aksrg altında PSTestAKSCluster adlı bir AKS kümesi kullanalım:
$sourceClusterId = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/aksrg /providers/Microsoft.ContainerService/managedClusters/ PSTestAKSCluster "Anlık görüntü kaynak grubu
Kalıcı birim anlık görüntüleri aboneliğinizdeki bir kaynak grubunda depolanır. Azure Backup hizmeti tarafından kullanılacak anlık görüntü veri deposu olarak ayrılmış bir kaynak grubu oluşturmanızı öneririz. Ayrılmış bir kaynak grubu, kaynak grubu üzerindeki erişim izinlerinin kısıtlanmasına olanak sağlayarak yedekleme verilerinin güvenliğini ve yönetimini kolaylaştırır. Kaynak grubunun Azure Resource Manager kimliğini kalıcı birim anlık görüntülerini depolamak istediğiniz konuma kaydedin.
$snapshotrg = "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx/resourcegroups/snapshotrg"
İsteği hazırlama
Yedekleme yapılandırması iki adımda gerçekleştirilir:
Cmdlet'i kullanılarak
New-AzDataProtectionBackupConfigurationClientObjectyedeklenecek küme kaynaklarını tanımlamak için yedekleme yapılandırmasını hazırlayın. Aşağıdaki örnekte, yapılandırma geçerli olan tüm küme kaynakları olarak tanımlanır ve gelecekteki ad alanları olarakkey-value pair x=yetiketle yedeklenir. Ayrıca, küme kapsamındaki tüm kaynaklar ve kalıcı birimler yedeklenir. Aşağıdaki ad alanları yedekleme yapılandırmasından atlanır ve yedeklemeler için yapılandırılmaz: kube-system, kube-node-lease, kube-public.$backupConfig = New-AzDataProtectionBackupConfigurationClientObject -SnapshotVolume $true -IncludeClusterScopeResource $true -DatasourceType AzureKubernetesService -LabelSelector "env=prod"cmdlet'ini kullanarak ilgili kasayı, ilkeyi, AKS kümesini, yedekleme yapılandırmasını ve anlık görüntü kaynak grubunu kullanarak
Initialize-AzDataProtectionBackupInstanceilgili isteği hazırlayın.$backupInstance = Initialize-AzDataProtectionBackupInstance -DatasourceType AzureKubernetesService -DatasourceLocation $dataSourceLocation -PolicyId $ aksBkpPol.Id -DatasourceId $sourceClusterId -SnapshotResourceGroupId $ snapshotrg -FriendlyName $friendlyName -BackupConfiguration $backupConfig
Gerekli izinleri atama ve doğrulama
Gerekli izinleri atamak ve AKS kümesi koruması için doğrulama gerçekleştirmek için aşağıdaki cmdlet'leri çalıştırın:
İstek hazırlanarak kullanıcıya Azure rol tabanlı erişim denetimi (Azure RBAC) aracılığıyla kasaya (kasa yönetilen sistem kimliğiyle temsil edilir) ve AKS kümesine gerekli izinleri atamanız gerekir. Bunu cmdlet'ini
Set-AzDataProtectionMSIPermissionkullanarak gerçekleştirebilirsiniz. Yedekleme kasası, diğer Azure kaynaklarına erişmek için yönetilen kimliği kullanır. AKS kümesinin yedeklemesini yapılandırmak için Backup kasasının yönetilen kimliği, anlık görüntülerin oluşturulduğu ve yönetildiği AKS kümesi ve kaynak gruplarında bir dizi izin gerektirir. Ayrıca AKS kümesi, anlık görüntü kaynak grubu üzerinde izin gerektirir.Not
Yalnızca sistem tarafından atanan yönetilen kimlik şu anda yedekleme için desteklenmektedir (hem Backup kasası hem de AKS kümesi). Sistem tarafından atanan yönetilen kimlik, kaynak başına bir kimlikle sınırlıdır ve bu kaynağın yaşam döngüsüne bağlıdır. Azure RBAC kullanarak yönetilen kimliğe izin vekleyebilirsiniz. Yönetilen kimlik, yalnızca Azure kaynaklarıyla kullanılabilecek özel türde bir hizmet sorumlusudur. Yönetilen kimlikler hakkında daha fazla bilgi edinin.
Set-AzDataProtectionMSIPermission -BackupInstance $backupInstance -VaultResourceGroup $rgName -VaultName $vaultName -PermissionsScope "ResourceGroup"İzinler atandıktan sonra oluşturulan örneğin hazır olup olduğunu test edin.
test-AzDataProtectionBackupInstanceReadiness -ResourceGroupName $resourceGroupName -VaultName $vaultName -BackupInstance $backupInstance.PropertyDoğrulama başarılı olduğunda, cmdlet'ini kullanarak
New-AzDataProtectionBackupInstanceAKS kümesini korumak için isteği gönderin.New-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupInstance $backupInstance
AKS kümesi için isteğe bağlı yedekleme çalıştırma
İsteğe bağlı yedekleme tetikleme için aşağıdaki cmdlet'leri çalıştırın:
Cmdlet'ini çalıştırarak bir yedekleme tetiklemesini istediğiniz ilgili yedekleme örneğini
Get-AzDataProtectionBackupInstancegetirin.$instance = Get-AzDataProtectionBackupInstance -SubscriptionId "xxxx-xxx-xxx" -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -Name "BackupInstanceName"Yedeklemeyi tetiklerken bir bekletme kuralı belirtin. İlkedeki bekletme kurallarını görüntülemek için bekletme kuralları için ilke nesnesine gidin. Aşağıdaki örnekte, varsayılan adlı kural görüntülenir ve bu kuralı isteğe bağlı yedekleme için kullanacağız.
$policyDefn.PolicyRule | fl BackupParameter: Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.AzureBackupParams BackupParameterObjectType: AzureBackupParams DataStoreObjectType: DataStoreInfoBase DataStoreType: OperationalStore Name: BackupHourly ObjectType: AzureBackupRule Trigger: Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.ScheduleBasedTriggerContext TriggerObjectType: ScheduleBasedTriggerContext IsDefault: True Lifecycle: {Microsoft.Azure.PowerShell.Cmdlets.DataProtection.Models.Api20210201Preview.SourceLifeCycle} Name: Default ObjectType: AzureRetentionRulecmdlet'ini kullanarak isteğe bağlı yedekleme tetikleyin
Backup-AzDataProtectionBackupInstanceAdhoc.$AllInstances = Get-AzDataProtectionBackupInstance -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name Backup-AzDataProtectionBackupInstanceAdhoc -BackupInstanceName $AllInstances[0].Name -ResourceGroupName "testBkpVaultRG" -VaultName $TestBkpVault.Name -BackupRuleOptionRuleName "Default"
AKS yedekleme işlerini izleme
cmdlet'ini Get-AzDataProtectionJob kullanarak tüm işleri izleyin. Tüm işleri listeleyebilir ve belirli bir iş ayrıntısı getirebilirsiniz. Tüm Backup kasalarında Az.ResourceGraph tüm işleri izlemek için cmdlet'ini de kullanabilirsiniz.
Search-AzDataProtectionJobInAzGraph Herhangi bir Backup kasasından ilgili iş ayrıntılarını almak için cmdlet'ini kullanın.
$job = Search-AzDataProtectionJobInAzGraph -Subscription $sub -ResourceGroupName "testBkpVaultRG" -Vault $TestBkpVault.Name -DatasourceType AzureKubernetesService -Operation OnDemandBackup