Azure Kubernetes Service yedeklemesi nedir?

Azure Kubernetes Service (AKS) yedeklemesi, AKS kümenizde çalışan kapsayıcılı uygulamaları ve verileri yedeklemek ve geri yüklemek için kullanabileceğiniz basit, bulutta yerel bir işlemdir. CSI sürücü tabanlı Azure Disk Depolama kalıcı birimlerde depolanan küme durumu ve uygulama verileri için zamanlanmış yedeklemeleri yapılandırabilirsiniz. Çözüm, yedeklemeleri yerel olarak bir blob kapsayıcısında ve disk anlık görüntüleri olarak depolayarak yedeklemek veya geri yüklemek için belirli bir ad alanını veya kümenin tamamını seçmeniz için ayrıntılı denetim sağlar. İşletimsel kurtarma, geliştirici/test ortamlarını kopyalama ve küme yükseltme senaryoları gibi uçtan uca senaryolar için AKS yedeklemesini kullanabilirsiniz.

AKS yedeklemesi, Azure'daki Yedekleme merkeziyle tümleştirilip yedeklemeleri büyük ölçekte yönetmenize, izlemenize, çalıştırmanıza ve analiz etmenize yardımcı olabilecek tek bir görünüm sağlar. Yedekleriniz, Azure portalında aks örneğinin kaynak menüsündeki Ayarlar altında da kullanılabilir.

Dekont

Azure Backup kullanarak AKS için kasalı yedekleme ve Bölgeler Arası Geri Yükleme şu anda önizleme aşamasındadır.

AKS yedeklemesi nasıl çalışır?

AKS iş yüklerinizi ve AKS kümelerinde dağıtılan kalıcı birimleri yedeklemek için AKS yedeklemesini kullanın. Çözüm, Backup uzantısının AKS kümesi içine yüklenmesini gerektirir. Yedekleme kasası, yedekleme ve geri yükleme ile ilgili işlemleri tamamlamak için uzantıyla iletişim kurar. Yedekleme uzantısının kullanılması zorunludur ve küme için yedekleme ve geri yüklemeyi etkinleştirmek için uzantının AKS kümesi içine yüklenmesi gerekir. AKS yedeklemesini yapılandırırken, yedeklemelerin depolandığı bir depolama hesabı ve blob kapsayıcısı için değerler eklersiniz.

Yedekleme uzantısıyla birlikte, AKS kümesinin yönetilen kaynak grubunda bir kullanıcı kimliği (uzantı kimliği olarak adlandırılır) oluşturulur. Uzantı kimliğine, yedeklemelerin blob kapsayıcısında depolandığı depolama hesabında Depolama Hesabı Katkıda Bulunanı rolü atanır.

Genel, özel ve yetkili IP tabanlı kümeleri desteklemek için AKS yedeklemesi, AKS kümesi ile Backup kasası arasında Güvenilen Erişim'in etkinleştirilmesini gerektirir. Güvenilen Erişim, yedekleme işlemleri için kendisine atanan belirli izinler nedeniyle Backup kasasının AKS kümesine erişmesine izin verir. AKS Güvenilen Erişimi hakkında daha fazla bilgi için bkz . Azure kaynaklarının Güvenilen Erişim kullanarak AKS kümelerine erişmesini sağlama.

Dekont

AKS yedeklemesi, yedeklemeleri İşlem Katmanında depolamanıza olanak tanır. İşlem Katmanı yerel bir veri deposudur (kiracınızda anlık görüntü olarak). Artık AKS yedeklemesini kullanarak günde bir kurtarma noktası taşıyabilir ve bunu Bloblar (kiracınızın dışında) olarak Kasa Katmanı'nda depolayabilirsiniz. Yedeklemeleri yönetmek için Backup kasasını da kullanabilirsiniz.

Yedekleme uzantısı yüklendikten ve Güvenilen Erişim etkinleştirildikten sonra, yedekleme ilkenize göre kümeler için zamanlanmış yedeklemeleri yapılandırabilirsiniz. Ayrıca yedekleri özgün kümeye veya aynı abonelikte ve bölgede bulunan alternatif bir kümeye geri yükleyebilirsiniz. Belirli bir işlemi ayarlarken yedekleme ve geri yükleme yapılandırması olarak belirli bir ad alanını veya kümenin tamamını seçebilirsiniz.

Yedekleme çözümü, kümede dağıtılan AKS veri kaynaklarınız ve küme için kalıcı birimde depolanan veriler için yedekleme işlemlerini etkinleştirir ve ardından yedeklemeleri bir blob kapsayıcısında depolar. Disk tabanlı kalıcı birimler, bir anlık görüntü kaynak grubunda disk anlık görüntüleri olarak yedeklenir. Blobdaki anlık görüntüler ve küme durumu, kiracınızda İşlem Katmanı olarak adlandırılan bir kurtarma noktası oluşturmak için birleştirilir. Ayrıca İşlem Katmanı'ndaki yedeklemeleri (ilk başarılı yedeklemeyi bir gün, hafta, ay veya yılda) bloblara dönüştürebilir ve ardından bunları günde bir kez bir Kasaya (kiracınızın dışında) taşıyabilirsiniz.

Dekont

Şu anda Azure Backup, CSI sürücü tabanlı Azure Disk Depolama yalnızca kalıcı birimleri destekler. Yedeklemeler sırasında çözüm, Azure Dosya Paylaşımı ve bloblar gibi diğer kalıcı birim türlerini atlar. Ayrıca, kalıcı birimler 1 TB'tan küçük veya buna eşitse yedeklemeler kasaya taşınmaya uygundur.

Yedeklemeyi yapılandırma

  • AKS kümeleri için yedeklemeleri yapılandırmak için önce bir Backup kasası oluşturun. Kasa, farklı veri kaynakları arasında yapılandırılan yedeklemelerin birleştirilmiş bir görünümünü sağlar. AKS yedeklemesi hem İşlem Katmanı hem de Kasa Katmanı yedeklemelerini destekler.

    Dekont

    • Yedeklemek veya geri yüklemek istediğiniz Backup kasası ve AKS kümesi aynı bölgede ve abonelikte olmalıdır.
    • Yedekleme kasası depolama yedekliliği ayarı (LRS/GRS), yalnızca Kasa Katmanı'nda depolanan yedeklemeler için geçerlidir. Olağanüstü durum kurtarma için yedekleri kullanmak istiyorsanız, Bölgeler Arası Geri Yükleme etkinken depolama yedekliliğini GRS olarak ayarlayın.
  • AKS yedekleme, zamanlanmış bir yedekleme işini otomatik olarak tetikler. İş, küme kaynaklarını bir blob kapsayıcısına kopyalar ve yedekleme sıklığına göre disk tabanlı kalıcı birimlerin artımlı anlık görüntüsünü oluşturur. Yedeklemeler, yedekleme ilkesinde tanımlanan saklama süresine göre İşlem Katmanı ve Kasa Katmanı'nda tutulur ve süre sona erdikten sonra silinir.

    Dekont

    Tek bir AKS kümesi için yedekleme örneği başına farklı yedekleme yapılandırmaları kullanarak birden çok yedekleme örneği oluşturmak için AKS yedeklemesini kullanabilirsiniz. Ancak, aks kümesinin her yedekleme örneği farklı bir Backup kasasında veya aynı Backup kasasında ayrı bir yedekleme ilkesi kullanılarak oluşturulmalıdır.

Yedeklemeyi yönetme

AKS kümesi için yedekleme yapılandırması tamamlandığında Backup kasasında bir yedekleme örneği oluşturulur. Azure portalındaki AKS örneğinin Yedekleme bölümünde kümenin yedekleme örneğini görüntüleyebilirsiniz. Örnek için geri yükleme başlatma, izleme, korumayı durdurma vb. gibi yedeklemeyle ilgili işlemleri ilgili yedekleme örneği aracılığıyla gerçekleştirebilirsiniz.

AKS yedekleme ayrıca tüm AKS kümelerinizin ve yedeklemeyle desteklenen diğer iş yüklerinizin korumasını merkezi olarak yönetmenize yardımcı olmak için doğrudan Yedekleme merkeziyle tümleştirilir. Yedekleme merkezi, izleme işleri ve yedeklemelerin ve geri yüklemelerin durumu gibi tüm yedekleme gereksinimleriniz için tek bir görünümdür. Yedekleme merkezi, uyumluluk ve idareyi sağlamanıza, yedekleme kullanımını analiz edip verileri yedeklemek ve geri yüklemek için kritik işlemler gerçekleştirmenize yardımcı olur.

AKS yedeklemesi, diğer Azure kaynaklarına erişmek için yönetilen kimliği kullanır. Aks kümesinin yedeklemesini yapılandırmak ve önceki bir yedeklemeden geri yüklemek için Backup kasasının yönetilen kimliği, AKS kümesinde ve anlık görüntülerin oluşturulup yönetildiği anlık görüntü kaynak grubunda bir dizi izin gerektirir. Şu anda AKS kümesi anlık görüntü kaynak grubu üzerinde bir dizi izin gerektirir. Ayrıca, Yedekleme uzantısı bir kullanıcı kimliği oluşturur ve yedeklemelerin bir blobda depolandığı depolama hesabına erişmek için bir dizi izin atar. Azure rol tabanlı erişim denetimini (Azure RBAC) kullanarak yönetilen kimliğe izin vekleyebilirsiniz. Yönetilen kimlik, yalnızca Azure kaynaklarıyla kullanılabilen özel bir hizmet ilkesi türüdür. Yönetilen kimlikler hakkında daha fazla bilgi edinin.

Bir yedeklemeden geri yükleme

Kurtarma noktasının mevcut olduğu herhangi bir noktadan verileri geri yükleyebilirsiniz. Bir yedekleme örneği korumalı durumda olduğunda bir kurtarma noktası oluşturulur ve yedekleme ilkesi tarafından tutulana kadar verileri geri yüklemek için kullanılabilir.

Azure Backup, yedeklenen tüm öğeleri geri yükleme veya ad alanlarını ve diğer filtre seçeneklerini seçerek yedeklerden belirli öğeleri seçmek için ayrıntılı denetimleri kullanma seçeneği sunar. Ayrıca, geri yüklemeyi özgün AKS kümesinde (yedeklenen küme) veya alternatif bir AKS kümesinde yapabilirsiniz. İşletimsel ve Kasa Katmanı'nda depolanan yedeklemeleri aynı ve farklı abonelikteki bir kümeye geri yükleyebilirsiniz. Yalnızca Kasa Katmanında depolanan yedeklemeler, farklı bir bölgedeki (Azure Eşleştirilmiş Bölge) bir kümeye geri yükleme yapmak için kullanılabilir.

Kasa Katmanı'nda depolanan yedeklemeyi geri yüklemek için yedekleme verilerinin nemlendiği bir hazırlama konumu sağlamanız gerekir. Bu hazırlama konumu, aynı bölge içinde bir kaynak grubu ve depolama hesabı ile geri yükleme için hedef küme olarak bir abonelik içerir. Geri yükleme sırasında, belirli kaynaklar (blob kapsayıcısı, disk ve disk anlık görüntüleri) hidrasyon kapsamında oluşturulur ve geri yükleme işlemi tamamlandıktan sonra temizlenir.

AKS için Azure Backup şu anda kaynak çakışması oluştuğunda geri yükleme işlemi yaparken aşağıdaki iki seçeneği destekler (yedeklenen kaynak, hedef AKS kümesindeki kaynakla aynı ada sahiptir). Geri yükleme yapılandırmasını tanımlarken bu seçeneklerden birini belirleyebilirsiniz.

  1. Atla: Bu seçenek varsayılan olarak seçilidir. Örneğin, pvc-azuredisk adlı bir PVC'yi yedeklediyseniz ve bunu aynı ada sahip PVC'ye sahip bir hedef kümede geri yüklüyorsanız, yedekleme uzantısı yedeklenen kalıcı birim talebi (PVC) geri yüklemeyi atlar. Bu tür senaryolarda, kaynağı kümeden silmenizi ve ardından geri yükleme işlemini gerçekleştirerek yedeklenen öğelerin yalnızca kümede kullanılabilir olmasını ve atlanmamalarını öneririz.

  2. Düzeltme eki: Bu seçenek, hedef kümedeki kaynaktaki yedeklenen kaynakta değiştirilebilir değişkene düzeltme eki uygulama olanağı sağlar. Hedef kümedeki çoğaltma sayısını güncelleştirmek istiyorsanız, işlem olarak düzeltme eki uygulamayı tercih edebilirsiniz.

Dekont

AKS yedeklemesi şu anda zaten varsa hedef kümedeki kaynakları silmez ve yeniden oluşturmaz. Kalıcı Birimleri özgün konuma geri yüklemeyi denerseniz, var olan Kalıcı Birimleri silin ve geri yükleme işlemini yapın.

Yedekleme ve geri yükleme için özel kancaları kullanma

Kapsayıcılı iş yükleri olarak dağıtılan veritabanları için kullanılan birimlerin uygulamayla tutarlı anlık görüntülerini almak için özel kancalar kullanabilirsiniz.

Özel kancalar nedir?

Bir yedekleme ve geri yükleme işleminin parçası olarak özel kancaları yürütmek için AKS yedeklemesini kullanabilirsiniz. Kancalar, yedekleme işlemi sırasında veya geri yüklemeden sonra kapsayıcı altındaki bir podda yürütülecek bir veya daha fazla komut çalıştırmak üzere yapılandırılmış komutlardır. Bu kancaları özel bir kaynak olarak tanımlar ve yedeklemek veya geri yüklemek istediğiniz AKS kümesine dağıtırsınız. Özel kaynak aks kümesinde gerekli ad alanında dağıtıldığında, yedekleme ve geri yüklemeyi yapılandırmak için akışın girdisi olarak ayrıntıları sağlarsınız. Backup uzantısı, yaml dosyasında tanımlandığı gibi kancaları çalıştırır.

Dekont

Kancalar kapsayıcılardaki bir kabukta yürütülemez.

AKS'de yedeklemenin iki tür kancası vardır:

  • Yedekleme kancaları
  • Kancaları geri yükleme

Yedekleme kancaları

Yedekleme kancasında, herhangi bir özel eylem işlemeden (ön kancalar) önce veya tüm özel eylemler tamamlandıktan ve özel eylemler tarafından belirtilen ek öğeler yedeklendikten sonra (kanca sonrası) kancayı çalıştıracak komutları yapılandırabilirsiniz.

Örneğin, yedekleme kancaları kullanılarak dağıtılacak özel bir kaynağın YAML şablonu aşağıda verilmiştir:

apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
kind: BackupHook
metadata:
  # BackupHook CR Name and Namespace
  name: bkphookname0
  namespace: default
spec:
  # BackupHook is a list of hooks to execute before and after backing up a resource.
  backupHook:
    # 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:
          # Container is the container in the pod where the command should be executed.
          container: webcontainer
          # Command is the command and arguments to execute.
          command:
            - /bin/uname
            - -a
          # OnError specifies how Velero should behave if it encounters an error executing this hook  
          onError: Continue
          # Timeout is the amount of time to wait for the hook to complete before considering it failed.
          timeout: 10s
      - exec:
          command:
            - /bin/bash
            - -c
            - echo hello > hello.txt && echo goodbye > goodbye.txt
          container: webcontainer
          onError: Continue
    # PostHooks is a list of BackupResourceHooks to execute after backing up an item.
    postHooks:
      - exec:
          container: webcontainer
          command:
            - /bin/uname
            - -a
          onError: Continue
          timeout: 10s

Kancaları geri yükleme

Geri yükleme kancası betiğinde, özel komutlar veya betikler, geri yüklenen aks podunun kapsayıcılarında yürütülecek şekilde yazılır.

Geri yükleme kancaları kullanılarak dağıtılacak özel bir kaynağın YAML şablonu aşağıdadır:

apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1
kind: RestoreHook
metadata:
  name: restorehookname0
  namespace: default
spec:
  # RestoreHook is a list of hooks to execute after restoring a resource.
  restoreHook:
    # Name is the name of this hook.
  - name: myhook-1  
    # Restored Namespaces where this hook will be executed.
    includedNamespaces: 
    excludedNamespaces:
    labelSelector:
    # PostHooks is a list of RestoreResourceHooks to execute during and after restoring a resource.
    postHooks:
      - exec:
          # Container is the container in the pod where the command should be executed.
          container: webcontainer
          # Command is the command and arguments to execute from within a container after a pod has been restored.
          command:
            - /bin/bash
            - -c
            - echo hello > hello.txt && echo goodbye > goodbye.txt
          # OnError specifies how Velero should behave if it encounters an error executing this hook
          # default value is Continue
          onError: Continue
          # Timeout is the amount of time to wait for the hook to complete before considering it failed.
          execTimeout: 30s
          # WaitTimeout defines the maximum amount of time Velero should wait for the container to be ready before attempting to run the command.
          waitTimeout: 5m

AKS yedeklemesi sırasında kancaları kullanmayı öğrenin.

AKS yedeklemesi hangi yedekleme depolama katmanını destekler?

AKS için Azure Backup, yedekleme veri depoları olarak iki depolama katmanını destekler:

  • İşlem Katmanı: AKS kümesine yüklenen Yedekleme Uzantısı ilk olarak CSI Sürücüsü aracılığıyla Birim anlık görüntülerini alarak yedeklemeyi alır ve küme durumunu kendi kiracınızdaki bir blob kapsayıcısında depolar. Bu katman, en az dört saatlik iki yedekleme süresiyle daha düşük RPO'yu destekler. Ayrıca, Azure Disk tabanlı birimler için İşlem Katmanı daha hızlı geri yüklemeyi destekler.

  • Kasa standart Katmanı (önizleme): Yedekleme verilerini anlık görüntülerden daha düşük maliyetle daha uzun süre depolamak için AKS backup, Kasa standardı veri depolarını destekler. Yedekleme ilkesinde ayarlanan bekletme kurallarına göre, ilk başarılı yedekleme (gün, hafta, ay veya yıl) kiracınızın dışındaki bir blob kapsayıcısına taşınır. Bu veri deposu yalnızca daha uzun saklamaya izin vermekle kalmaz, aynı zamanda fidye yazılımı koruması da sağlar. Ayrıca Yedekleme kasasında Coğrafi yedeklilik ve Bölgeler Arası Geri Yükleme'yi etkinleştirerek kurtarma için kasada depolanan yedeklemeleri başka bir bölgeye (Azure Eşleştirilmiş Bölge) taşıyabilirsiniz.

Dekont

Saklama kuralları tanımlayarak Yedekleme İlkesi aracılığıyla yedekleme verilerini kasa standardı bir veri deposunda depolayabilirsiniz. Kasa Katmanı'na günde yalnızca bir zamanlanmış kurtarma noktası taşınır. Ancak, seçilen kurala göre istediğiniz sayıda isteğe bağlı yedeklemeyi Kasaya taşıyabilirsiniz.

Fiyatlandırmayı anlama

Bunun için ücretlendirilirsiniz:

  • Korumalı örnek ücreti: AKS için Azure Backup, ad alanı başına ayda bir korumalı örnek ücreti alır. AKS kümesi için yedeklemeyi yapılandırdığınızda korumalı bir örnek oluşturulur. Her örnek, yedekleme yapılandırmasında tanımlandığı gibi yedeklenen belirli sayıda ad alanına sahiptir. AKS yedekleme fiyatlandırması hakkında daha fazla bilgi için bkz . Bulut Yedekleme fiyatlandırması ve iş yükü olarak Azure Kubernetes Service'i seçme

  • Anlık görüntü ücreti: AKS için Azure Backup, Azure aboneliğinizdeki kaynak grubunda depolanan anlık görüntüleri alarak disk tabanlı kalıcı birimi korur. Bu anlık görüntüler anlık görüntü depolama ücretlerine neden olabilir. Anlık görüntüler Backup kasasına kopyalanmadığından yedekleme depolama maliyeti geçerli değildir. Anlık görüntü fiyatlandırması hakkında daha fazla bilgi için bkz . Yönetilen Disk fiyatlandırması.

Sonraki adım