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áteMicrosoft.KubernetesConfiguration
př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:
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.
Nastavte parametr obnovení mezi oblastmi v části Vlastnosti trezoru jako povolený. Jakmile je tento parametr povolený, nemůžete ho zakázat.
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í:
Přejděte do trezoru služby Backup, který jste vytvořili, a vyberte Spravovat>zásady>zálohování– Přidat.
Zadejte název zásady zálohování.
Jako typ Zdroje dat vyberte Kubernetes Services.
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ě.
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.
Pokud je nakonfigurovaná frekvence zálohování a nastavení uchovávání, vyberte Další.
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:
Na webu Azure Portal přejděte do clusteru AKS, který chcete zálohovat.
V nabídce služby v části Nastavení vyberte Zálohovat.
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.
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.
Vyberte Další. Zkontrolujte podrobnosti o instalaci rozšíření a pak vyberte Vytvořit.
Spustí se instalace rozšíření.
Konfigurace zálohování
Po úspěšné instalaci rozšíření Backup vyberte Konfigurovat zálohování.
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ší.
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ší.
Na kartě Zdroje dat vyberte Přidat/Upravit a definujte konfiguraci instance zálohování.
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í.
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:
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.
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:
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-lease
akube-public
.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 popiskyenv=prod;tier!=web
, proces vybere prostředky, které mají popisek senv
klíčem aprod
hodnotou, a popisek stier
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é.
- 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ů
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í:
- Pod, na kterém běží MySQL, se zablokuje, aby se v databázi neprováděla žádná nová transakce.
- Snímek se pořídí jako záložní svazek.
- 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:
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
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
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.