Azure Backup kullanarak Azure Kubernetes Service'i yedekleme
Bu makalede Azure Kubernetes Service'i (AKS) yapılandırma ve yedekleme işlemleri açıklanmaktadır.
Azure Backup'ı, kümeye yüklenmesi gereken Yedekleme uzantısını kullanarak AKS kümelerini (küme kaynakları ve kümeye bağlı kalıcı birimler) yedeklemek için kullanabilirsiniz. Backup kasası, yedekleme ve geri yükleme işlemlerini gerçekleştirmek için Yedekleme uzantısı aracılığıyla kümeyle iletişim kurar.
Not
Azure Backup kullanarak AKS için kasalı yedekleme ve Bölgeler Arası Geri Yükleme şu anda önizleme aşamasındadır.
Başlamadan önce
Şu anda AKS yedeklemesi yalnızca Azure Disk Depolama tabanlı kalıcı birimleri destekler (CSI sürücüsü tarafından etkinleştirilir). Yedeklemeler yalnızca işletimsel veri deposunda depolanır (yedekleme verileri 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ı AKS kümesi kaynaklarını barındırır. Kalıcı birim anlık görüntüleri kaynak grubunda depolanır. AKS kümesi ve depolama konumları aynı bölgede olmalı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 (4 saat, 8 saat 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ümesi için 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.KubernetesConfiguration
Yedekleme yapılandırması ve geri yükleme işlemlerini başlatmadan önce aboneliğiniz için üzerinde ,Microsoft.DataProtection
ve özellik bayrağınınTrustedAccessPreview
Microsoft.ContainerService
kayıtlı olduğundan emin olun.AKS yedeklemesi için bir yedekleme veya geri yükleme işlemi başlatmadan önce tüm önkoşulları gerçekleştirdiğinizden emin olun.
Desteklenen senaryolar, sınırlamalar ve kullanılabilirlik hakkında daha fazla bilgi için bkz . destek matrisi.
Backup kasası oluşturma
Backup kasası, zaman içinde ele alınan kurtarma noktalarını depolayan bir yönetim varlığıdır. Backup kasası, yedekleme işlemlerini gerçekleştirmek için bir arabirim de sağlar. İşlemler isteğe bağlı yedeklemeleri almayı, geri yüklemeleri yapmayı ve yedekleme ilkeleri oluşturmayı içerir. AKS yedekleme, Backup kasasının ve AKS kümesinin aynı bölgede olmasını gerektirir. Backup kasası oluşturmayı öğrenin.
Not
Backup kasası, yeni desteklenen veri kaynaklarını yedeklemek için kullanılan yeni bir kaynaktır. Backup kasası, Kurtarma Hizmetleri kasasından farklıdır.
AKS kümelerinizi bölgesel kesintilere karşı korumak için Azure Backup'ı kullanmak istiyorsanız:
Kasa oluşturma sırasında Yedekleme Depolama Yedekliliği parametresini Genel Olarak Yedekli olarak ayarlayın. Kasanın yedekliliği ayarlandıktan sonra devre dışı bırakamazsınız.
Kasa Özellikleri'nin altında Bölgeler Arası Geri Yükleme parametresini Etkin olarak ayarlayın. Bu parametre etkinleştirildikten sonra devre dışı bırakamazsınız.
Kasa standart veri deposu için bekletme süresi ayarlanmış bir Yedekleme İlkesi kullanarak bir Yedekleme Örneği oluşturun. Bu veri deposunda depolanan her kurtarma noktası ikincil bölgede olacaktır.
Not
Kasa standart veri deposu şu anda önizleme aşamasındadır.
Yedekleme ilkesi oluşturma
Yedeklemeleri yapılandırmadan önce yedekleme sıklığını ve yedeklemelerin saklama süresini tanımlayan bir yedekleme ilkesi oluşturmanız gerekir.
Yedeklemeyi yapılandırırken bir yedekleme ilkesi de oluşturabilirsiniz.
Yedekleme ilkesi oluşturmak için:
Yeni bir yedekleme ilkesi oluşturmak için Yedekleme merkezi'ne gidin ve İlke'yi seçin.
Alternatif olarak Yedekleme merkezi>Yedekleme ilkeleri>Ekle'ye gidin.
Veri kaynağı türü için Kubernetes Service'i seçin ve devam edin.
Yedekleme ilkesi için bir ad girin (örneğin, Varsayılan İlke) ve yedekleme ilkesinin oluşturulması gereken Backup kasasını (oluşturduğunuz yeni Backup kasası) seçin.
Zamanlama + bekletme sekmesinde yedeklemelerin sıklığını ve bunların İşletimsel ve Kasa Katmanında (veri deposu olarak da adlandırılır) ne kadar süreyle saklanması gerektiğini tanımlayın.
Yedekleme Sıklığı: Yedekleme sıklığını (saatlik veya günlük) seçin ve ardından yedeklemeler için bekletme süresini seçin.
Bekletme Ayarı: Yeni bir yedekleme ilkesinin iki bekletme kuralı vardır.
Yedeklemeleri günlük veya haftalık olarak alınan daha uzun bir süre boyunca depolamak için ek bekletme kuralları da oluşturabilirsiniz.
Varsayılan: Bu kural, alınan tüm işlem katmanı yedeklemeleri için varsayılan saklama süresini tanımlar. Bu kuralı yalnızca düzenleyebilirsiniz ve silemezsiniz.
Her gün alınan ilk başarılı yedekleme: Varsayılan kurala ek olarak, günün her ilk başarılı yedeklemesi İşletimsel veri deposunda ve Kasa standart deposunda tutulabilir. Bu kuralı düzenleyebilir ve silebilirsiniz (yedeklemeleri İşletimsel veri deposunda tutmak istiyorsanız).
Ayrıca her hafta, ay ve yılda bir alınan İlk başarılı yedekleme için benzer kurallar tanımlayabilirsiniz.
Not
- Günün ilk başarılı yedeklemesine ek olarak, haftanın, ayın ve yılın ilk başarılı yedeklemesi için bekletme kurallarını tanımlayabilirsiniz. Öncelik açısından, sipariş yıl, ay, hafta ve gün şeklindedir.
- Kasa standart veri deposu şu anda önizleme aşamasındadır. Özelliği kullanmak istemiyorsanız bekletme kuralını düzenleyin ve Kasa standardı veri deposunun yanındaki onay kutusunu temizleyin.
- Kasa Katmanı'nda depolanan yedeklemeler, birincil bölge kullanılamadığında AKS kümelerini ikincil bölgeye geri yüklemek için kullanabileceğiniz ikincil bölgeye (Azure Eşleştirilmiş bölgesi) de kopyalanabilir. Bu özelliği tercih etmek için Bölgeler Arası Geri Yükleme'nin etkinleştirildiği coğrafi olarak yedekli bir kasakullanın.
Yedekleme sıklığı ve bekletme ayarları yapılandırıldığında İleri'yi seçin.
Gözden Geçir + oluştur sekmesinde bilgileri gözden geçirin ve oluştur'u seçin.
Yedeklemeleri yapılandırma
Kümenin tamamını veya kümede dağıtılan belirli küme kaynaklarını yedeklemek için AKS yedeklemesini kullanabilirsiniz. Ayrıca, dağıtılan uygulamanın zamanlama ve saklama gereksinimleri veya güvenlik gereksinimleri başına kümeyi birden çok kez koruyabilirsiniz.
Not
Aynı AKS kümesi için birden çok yedekleme örneği ayarlamak için:
- Yedeklemeyi aynı Backup kasasında ancak farklı bir yedekleme ilkesi kullanarak yapılandırın.
- Farklı bir Backup kasasında yedeklemeyi yapılandırın.
AKS kümesi için yedeklemeleri yapılandırmak için:
Azure portalında yedeklemek istediğiniz AKS kümesine gidin.
Kaynak menüsünde Yedekle'yi ve ardından Yedeklemeyi Yapılandır'ı seçin.
AKS kümesini yedekleme veya geri yüklemeye hazırlamak için Uzantıyı Yükle'yi seçerek Yedekleme uzantısını kümeye yükleyin.
Giriş olarak bir depolama hesabı ve blob kapsayıcısı sağlayın.
AKS küme yedeklemeleriniz bu blob kapsayıcısında depolanır. Depolama hesabının kümeyle aynı bölgede ve abonelikte olması gerekir.
İleri'yi seçin.
Uzantı yükleme ayrıntılarını gözden geçirin ve Oluştur'u seçin.
Uzantı yüklemesi başlar.
Yedekleme uzantısı başarıyla yüklendiğinde, AKS kümeniz için yedeklemeleri yapılandırmaya başlamak için Yedeklemeyi Yapılandır'ı seçin.
Bu eylemi Yedekleme merkezinde de gerçekleştirebilirsiniz.
Yedekleme kasasını seçin.
AKS kümesinin yedeklenmesi için Backup kasasında Güvenilen Erişim etkinleştirilmelidir. Güvenilen Erişimi etkinleştirmek için İzin Ver'i seçin. Zaten etkinse İleri'yi seçin.
Not
- Güvenilen Erişim'i etkinleştirmeden önce abonelikte
TrustedAccessPreview
kaynak sağlayıcısı içinMicrosoft.ContainerServices
özellik bayrağını etkinleştirin. - AKS kümesinde Backup uzantısı yüklü değilse yedeklemeyi yapılandıran yükleme adımını gerçekleştirebilirsiniz.
- Güvenilen Erişim'i etkinleştirmeden önce abonelikte
Yedeklemeler için zamanlamayı ve bunların saklama süresini tanımlayan yedekleme ilkesini seçin. Sonra İleri'yi seçin.
Veri Kaynakları sekmesinde Ekle/Düzenle'yi seçerek yedekleme örneği yapılandırmasını tanımlayın.
Yedeklenmesi Gereken Kaynakları Seçin bölmesinde, yedeklemek istediğiniz küme kaynaklarını tanımlayın.
Yedekleme yapılandırmaları hakkında daha fazla bilgi edinin.
Anlık görüntü kaynak grubu için, kalıcı birim (Azure Disk Depolama) anlık görüntülerini depolamak için kullanılacak kaynak grubunu seçin. Ardından Doğrula'yı seçin.
Doğrulama tamamlandığında, anlık görüntü kaynak grubundaki kasaya gerekli roller atanmazsa bir hata görüntülenir:
Hatayı çözmek için Veri kaynağı adı'nın altında veri kaynağını seçin ve ardından Eksik rolleri ata'yı seçin.
Aşağıdaki ekran görüntüsünde seçebileceğiniz rollerin listesi gösterilir:
Rol ataması tamamlandığında İleri'yi seçin.
Yedeklemeyi yapılandır'ı seçin.
Yapılandırma tamamlandığında İleri'yi seçin.
Yedekleme yapılandırması tamamlandığında yedekleme örneği oluşturulur.
Yedekleme yapılandırmaları
AKS için Azure Backup, yedeklemek istediğiniz AKS kümesi içinde uygulama sınırını tanımlamanıza olanak tanır. Yedekleme yapılandırmalarında kullanılabilen filtreleri kullanarak yedeklenebilecek kaynakları seçebilir ve ayrıca özel kancaları çalıştırabilirsiniz. Tanımlanan yedekleme yapılandırmasına Yedekleme Örneği Adı değeri tarafından başvurulur. Uygulama sınırınızı tanımlamak için aşağıdaki filtreler kullanılabilir:
Yedeklenmesi gereken Ad Alanları'nı seçin, kümedeki tüm mevcut ve gelecekteki ad alanlarını yedeklemek için Tümü'ne tıklayabilir veya yedekleme için belirli ad alanlarını seçmek üzere Listeden seç'i seçebilirsiniz.
Yedeklenmesi gereken küme kaynaklarını seçmek için kullanabileceğiniz filtreleri görmek için Ek Kaynak Ayarları'nı genişletin. Kaynakları aşağıdaki kategorilere göre yedeklemeyi seçebilirsiniz:
- Etiketler: Kaynak türlerine atadığınız etiketleri kullanarak AKS kaynaklarını filtreleyebilirsiniz. Etiketleri anahtar/değer çiftleri biçiminde girin. Mantığı kullanarak
AND
birden çok etiketi birleştirin.
Örneğin, etiketlerini
env=prod;tier!=web
girerseniz, işlem anahtarı ve değeri içerenenv
bir etikete veprod
değerin olmadığıweb
anahtara sahiptier
bir etikete sahip kaynakları seçer.API grupları: AKS API grubu ve türünü sağlayarak kaynakları da ekleyebilirsiniz. Örneğin, Dağıtımlar gibi yedek AKS kaynaklarını seçebilirsiniz. Kubernetes tanımlı API Grupları listesine buradan erişebilirsiniz.
Diğer seçenekler: Küme kapsamlı kaynaklar, kalıcı birimler ve gizli diziler için yedeklemeyi etkinleştirebilir veya devre dışı bırakabilirsiniz. Varsayılan olarak, küme kapsamlı kaynaklar ve kalıcı birimler etkinleştirilir
Not
Tüm bu kaynak ayarları birleştirilir ve mantık aracılığıyla
AND
uygulanır.- Etiketler: Kaynak türlerine atadığınız etiketleri kullanarak AKS kaynaklarını filtreleyebilirsiniz. Etiketleri anahtar/değer çiftleri biçiminde girin. Mantığı kullanarak
Not
Etiketleri dağıtılan ve yedeklenecek her YAML dosyasına eklemeniz gerekir. Bu, kalıcı birim talepleri gibi ad alanı kapsamlı kaynakları ve kalıcı birimler gibi küme kapsamlı kaynakları içerir.
AKS yedeklemesi sırasında kancaları kullanma
Bu bölümde, MySQL dağıtılmış AKS kümesinin uygulamayla tutarlı anlık görüntüsünü (MySQL örneğini içeren kalıcı bir birim) oluşturmak için yedekleme kancasının nasıl kullanılacağı açıklanmaktadır.
Aks yedeklemesinde özel kancaları kullanarak birimlerin uygulamayla tutarlı anlık görüntülerini gerçekleştirebilirsiniz. Birimler, kapsayıcılı iş yükleri olarak dağıtılan veritabanları için kullanılır.
Yedekleme kancası kullanarak, birimin uygulama anlık görüntüsünün alınabilmesi için MySQL podunu dondurmak ve çözmek için komutları tanımlayabilirsiniz. Ardından Backup uzantısı, kancalardaki komutları çalıştırma adımlarını düzenler ve birim anlık görüntüsünü alır.
MySQL dağıtılan bir birimin uygulamayla tutarlı anlık görüntüsü aşağıdaki eylemler gerçekleştirilerek yapılır:
- MySQL çalıştıran pod dondurulur, böylece veritabanında yeni işlem yapılmaz.
- Birimin anlık görüntüsü yedek olarak alınır.
- MySQL çalıştıran pod dondurulmadığından, işlemler veritabanında yeniden gerçekleştirilebilir.
MySQL'i yedeklemek üzere yedekleme yapılandırma akışının bir parçası olarak yedekleme kancasını etkinleştirmek için:
PostgreSQL podunu dondurmak ve çözmek için komutlarla yedekleme kancası için özel kaynağı yazın.
Önceden tanımlanmış komutları olan postgresbackuphook.yaml aşağıdaki örnek YAML betiğini de kullanabilirsiniz:
apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1 kind: BackupHook metadata: # BackupHook CR Name and Namespace name: bkphookname0 namespace: default spec: # BackupHook Name. This is the name of the hook that will be executed during backup. # compulsory name: hook1 # Namespaces where this hook will be executed. includedNamespaces: - hrweb excludedNamespaces: labelSelector: # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item. preHooks: - exec: command: - /sbin/fsfreeze - --freeze - /var/lib/postgresql/data container: webcontainer onError: Continue # PostHooks is a list of BackupResourceHooks to execute after backing up an item. postHooks: - exec: container: webcontainer command: - /sbin/fsfreeze - --unfreeze onError: Fail timeout: 10s
Yedeklemeyi yapılandırmadan önce, AKS kümesinde yedekleme kancası özel kaynağını dağıtmanız gerekir.
Betiği dağıtmak için aşağıdaki komutu çalıştırın:
kubectl apply -f mysqlbackuphook.yaml
Dağıtım tamamlandığında AKS kümesi için yedeklemeyi yapılandırabilirsiniz.
Sonraki adımlar
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin