Sdílet prostřednictvím


Zálohování služby Azure Kubernetes Service pomocí služby Azure Backup

Tento článek popisuje, jak nakonfigurovat a zálohovat službu Azure Kubernetes Service (AKS).

Azure Backup můžete použít k zálohování clusterů AKS (prostředků clusteru a trvalých svazků připojených ke clusteru) pomocí rozšíření Backup, které musí být nainstalované v clusteru. Trezor služby Backup komunikuje s clusterem prostřednictvím rozšíření Backup za účelem provádění operací zálohování a obnovení.

Požadavky

Co je potřeba před konfigurací zálohování clusteru AKS zajistit:

  • Zálohování AKS v současné době podporuje pouze trvalé svazky založené na službě Azure Disk Storage povolené ovladačem CSI. Zálohy se ukládají jenom v provozním úložišti dat (zálohovaná data se ukládají ve vašem tenantovi a nepřesouvají se do trezoru). Trezor služby Backup a cluster AKS musí být ve stejné oblasti.
  • Služba AKS Backup používá k ukládání záloh kontejner objektů blob a skupinu prostředků. Kontejner objektů blob obsahuje prostředky clusteru AKS. Snímky trvalých svazků jsou uložené ve skupině prostředků. Cluster AKS a umístění úložiště musí být ve stejné oblasti. Zjistěte , jak vytvořit kontejner objektů blob.
  • Zálohování AKS v současné době podporuje jednorázové zálohování. Podporuje také častější zálohování (v 4hodinovém, 8hodinovém a 12hodinovém intervalu) za den. Toto řešení umožňuje uchovávat data pro obnovení po dobu až 360 dnů. Zjistěte, jak vytvořit zásadu zálohování.
  • Abyste mohli nakonfigurovat operace zálohování a obnovení clusteru AKS, musíte nainstalovat rozšíření zálohování. Přečtěte si další informace o rozšíření Backup.
  • Než zahájíte operace konfigurace zálohování a Microsoft.ContainerService obnovení, ujistěte se, Microsoft.DataProtectionže máte Microsoft.KubernetesConfigurationpředplatné a zaregistrovali ho.
  • Před zahájením operace zálohování nebo obnovení pro zálohování AKS se ujistěte, že jste dokončili všechny požadavky .

Další informace o podporovaných scénářích, omezeních a dostupnosti najdete v matici podpory.

Vytvoření trezoru služby Backup

Trezor služby Backup je entita správy, která ukládá body obnovení zpracovávané v průběhu času. Trezor služby Backup také poskytuje rozhraní pro provádění operací zálohování. Mezi operace patří převzetí záloh na vyžádání, obnovení a vytváření zásad zálohování. Služba AKS Backup vyžaduje, aby trezor služby Backup a cluster AKS byly ve stejné oblasti. Zjistěte , jak vytvořit trezor služby Backup.

Poznámka:

Trezor služby Backup je nový prostředek, který se používá k zálohování nově podporovaných zdrojů dat. Trezor služby Backup se liší od trezoru služby Recovery Services.

Pokud chcete pomocí služby Azure Backup chránit clustery AKS před výpadky v jednotlivých oblastech, můžete povolit obnovení mezi oblastmi. Pokud chcete povolit obnovení mezi oblastmi, musíte:

  1. Při vytváření trezoru nastavte parametr redundance úložiště zálohování jako geograficky redundantní. Jakmile je nastavená redundance trezoru, nemůžete ji zakázat.

    Snímek obrazovky ukazuje, jak povolit parametr redundance úložiště zálohování.

  2. Nastavte parametr obnovení mezi oblastmi v části Vlastnosti trezoru jako povolený. Jakmile je tento parametr povolený, nemůžete ho zakázat.

    Snímek obrazovky ukazuje, jak povolit parametr Obnovení mezi oblastmi.

  3. Vytvořte instanci zálohování pomocí zásad zálohování s dobou uchovávání dat nastavenou pro úložiště dat úrovně Vault úrovně Standard. Každý bod obnovení uložený v tomto úložišti dat bude v sekundární oblasti.

Vytvoření zásady zálohování

Před konfigurací zálohování je potřeba vytvořit zásadu zálohování, která definuje frekvenci zálohování a dobu uchovávání záloh.

Vytvoření zásad zálohování:

  1. Přejděte do trezoru služby Backup, který jste vytvořili, a vyberte Spravovat>zásady>zálohování– Přidat.

  2. Zadejte název zásady zálohování.

  3. Jako typ Zdroje dat vyberte Kubernetes Services.

  4. Na kartě Plán + uchovávání definujte plán zálohování.

    • Frekvence zálohování: Vyberte frekvenci zálohování (hodinově nebo denně) a pak zvolte dobu uchovávání záloh.
    • Nastavení uchovávání informací: Nová zásada zálohování má ve výchozím nastavení definované výchozí pravidlo. Toto pravidlo můžete upravit a nemůžete ho odstranit. Výchozí pravidlo definuje dobu uchovávání všech provedených záloh na provozní úrovni. Můžete také vytvořit další pravidla uchovávání informací pro ukládání záloh po delší dobu trvání, která se provádějí denně nebo týdně.

    Snímek obrazovky znázorňující nastavení uchovávání

    Můžete také vytvořit další pravidla uchovávání informací pro ukládání záloh po delší dobu trvání, která se provádějí denně nebo týdně.

    Poznámka:

    • Kromě prvního úspěšného zálohování dne můžete definovat pravidla uchovávání informací pro první úspěšnou zálohu týdne, měsíce a roku. Z hlediska priority je objednávka rok, měsíc, týden a den.
    • Zálohy můžete kopírovat v sekundární oblasti (spárovaná oblast Azure) uložené ve vrstvě trezoru, kterou můžete použít k obnovení clusterů AKS do sekundární oblasti, když primární oblast není dostupná. Pokud chcete tuto funkci zvolit, použijte geograficky redundantní trezor s povoleným obnovením mezi oblastmi.
  5. Pokud je nakonfigurovaná frekvence zálohování a nastavení uchovávání, vyberte Další.

  6. Na kartě Zkontrolovat a vytvořit zkontrolujte informace a pak vyberte Vytvořit.

Instalace rozšíření Backup a konfigurace zálohování

Zálohování AKS můžete použít k zálohování celého clusteru nebo konkrétních prostředků clusteru nasazených v clusteru. Cluster můžete také chránit vícekrát podle plánu nasazené aplikace a požadavků na uchovávání informací nebo požadavků na zabezpečení.

Poznámka:

Nastavení více instancí zálohování pro stejný cluster AKS:

  • Nakonfigurujte zálohování ve stejném trezoru služby Backup, ale použijte jiné zásady zálohování.
  • Nakonfigurujte zálohování v jiném trezoru služby Backup.

Instalace rozšíření Backup

Konfigurace záloh pro cluster AKS:

  1. Na webu Azure Portal přejděte do clusteru AKS, který chcete zálohovat.

  2. V nabídce služby v části Nastavení vyberte Zálohovat.

  3. Pokud chcete cluster AKS připravit na zálohování nebo obnovení, vyberte Nainstalovat rozšíření pro instalaci rozšíření zálohování v clusteru.

  4. Jako vstup zadejte účet úložiště a kontejner objektů blob.

    Zálohy clusteru AKS se ukládají do tohoto kontejneru objektů blob. Účet úložiště musí být ve stejné oblasti a předplatném jako cluster.

    Snímek obrazovky, který ukazuje, jak přidat podrobnosti o úložišti a objektu blob pro zálohování

  5. Vyberte Další. Zkontrolujte podrobnosti o instalaci rozšíření a pak vyberte Vytvořit.

    Spustí se instalace rozšíření.

Konfigurace zálohování

  1. Po úspěšné instalaci rozšíření Backup vyberte Konfigurovat zálohování.

  2. Vyberte trezor služby Backup, který jste vytvořili dříve. Trezor záloh by měl mít povolený důvěryhodný přístup pro zálohování clusteru AKS. Pokud chcete povolit důvěryhodný přístup, vyberte Udělit oprávnění. Pokud už je povolená, vyberte Další.

  3. Na kartě Zásady zálohování vyberte zásadu zálohování, která definuje plán zálohování a dobu uchovávání a pak vyberte Další.

  4. Na kartě Zdroje dat vyberte Přidat/Upravit a definujte konfiguraci instance zálohování.

  5. V podokně Vybrat prostředky k zálohování definujte prostředky clusteru, které chcete zálohovat.

    Přečtěte si další informace o konfiguracích zálohování.

  6. Pro skupinu prostředků snímku vyberte skupinu prostředků, která se má použít k uložení snímků trvalého svazku (Azure Disk Storage) a pak vyberte Ověřit.

    Po dokončení ověření se v případě, že požadované role nejsou přiřazené k trezoru ve skupině prostředků snímku, zobrazí se chyba:

    Snímek obrazovky znázorňující chybu ověření v případě, že nejsou přiřazena požadovaná oprávnění

    Chybu vyřešíte tak, že v části Název zdroje dat zaškrtnete políčko zdroje dat a pak vyberete Přiřadit chybějící role.

  7. Po dokončení přiřazení role vyberte Další>konfigurovat zálohování.

Konfigurace zálohování

Azure Backup pro AKS umožňuje definovat hranici aplikace v clusteru AKS, který chcete zálohovat. Filtry, které jsou k dispozici v rámci konfigurací zálohování, můžete použít k výběru prostředků, které se mají zálohovat, a také ke spuštění vlastních háků. Na definovanou konfiguraci zálohování odkazuje hodnota pro název instance zálohování. Následující filtry jsou k dispozici pro definování hranic vaší aplikace:

  1. Vyberte Vybrat obory názvů, které chcete zálohovat. Pokud chcete zálohovat všechny existující a budoucí obory názvů v clusteru, můžete vybrat všechny existující a budoucí obory názvů, nebo můžete vybrat konkrétní obory názvů pro zálohování.

    Z konfigurací zálohování se přeskočí následující obory názvů: kube-system, kube-node-leasea kube-public.

    Snímek obrazovky znázorňující, jak vybrat obory názvů, které se mají zahrnout do zálohy

  2. Rozbalením dalšího nastavení prostředků zobrazíte filtry, které můžete použít k výběru prostředků clusteru, které chcete zálohovat. Můžete se rozhodnout zálohovat prostředky na základě následujících kategorií:

    • Popisky: Prostředky AKS můžete filtrovat pomocí popisků , které přiřadíte k typům prostředků. Zadejte popisky ve formě párů klíč/hodnota. Pomocí logiky můžete kombinovat více popisků AND . Pokud například zadáte popisky env=prod;tier!=web, proces vybere prostředky, které mají popisek s env klíčem a prod hodnotou, a popisek s tier klíčem, pro který hodnota není web.
    • Skupiny rozhraní API: Prostředky můžete zahrnout také tak, že poskytnete skupinu a druh rozhraní API AKS. Můžete například zvolit zálohování prostředků AKS, jako jsou nasazení. Tady můžete získat přístup k seznamu definovaných skupin rozhraní API Kubernetes.
    • Další možnosti: Zálohování prostředků s vymezeným clusterem, trvalých svazků a tajných kódů můžete povolit nebo zakázat. Prostředky s oborem clusteru a trvalé svazky jsou ve výchozím nastavení povolené.

Poznámka:

Popisky byste měli přidat do každého souboru YAML, který je nasazený a zálohovaný. Patří sem prostředky s oborem názvů, jako jsou deklarace identity trvalých svazků, a prostředky s oborem clusteru, jako jsou trvalé svazky.

Použití háků během zálohování AKS

Tato část popisuje, jak pomocí háku zálohování vytvořit snímek clusteru AKS konzistentní vzhledem k aplikacím s nasazeným MySQL (trvalý svazek, který obsahuje instanci MySQL).

Pomocí vlastních háků v zálohování AKS můžete provádět snímky svazků konzistentních vzhledem k aplikacím. Svazky se používají pro databáze nasazené jako kontejnerizované úlohy.

Pomocí háku zálohování můžete definovat příkazy, které ukotvují a odblokují pod MySQL, aby bylo možné pořídit snímek aplikace svazku. Rozšíření Backup pak orchestruje kroky spuštění příkazů v hookech a pořídí snímek svazku.

Snímek svazku s nasazeným MySQL konzistentní vzhledem k aplikacím se provádí pomocí následujících akcí:

  1. Pod, na kterém běží MySQL, se zablokuje, aby se v databázi neprováděla žádná nová transakce.
  2. Snímek se pořídí jako záložní svazek.
  3. Pod, na kterém běží MySQL, je unfrozen, takže transakce je možné provést znovu v databázi.

Povolení háku zálohování jako součásti toku konfigurace zálohování pro zálohování pro zálohování MySQL:

  1. Napište vlastní prostředek pro hák zálohování pomocí příkazů, které zablokuje a odblokuje pod PostgreSQL.

    Můžete také použít následující ukázkový skript YAML postgresbackuphook.yaml, který obsahuje předdefinované příkazy:

    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
    
    
    
  2. Před konfigurací zálohování je nutné nasadit vlastní prostředek háku zálohování v clusteru AKS.

    Skript nasadíte spuštěním následujícího příkazu:

    kubectl apply -f mysqlbackuphook.yaml
    
    
  3. Po dokončení nasazení můžete nakonfigurovat zálohy pro cluster AKS.

    Poznámka:

    Jako součást konfigurace zálohování musíte zadat vlastní název prostředku a obor názvů, do kterého se prostředek nasadí jako vstup.

Další kroky