Co je zálohování služby Azure Kubernetes Service?

Zálohování služby Azure Kubernetes Service (AKS) je jednoduchý proces nativní pro cloud, který můžete použít k zálohování a obnovení kontejnerizovaných aplikací a dat spuštěných v clusteru AKS. Můžete nakonfigurovat naplánované zálohování pro stav clusteru a data aplikací, která jsou uložená na trvalých svazcích v úložišti Azure Disk Storage založeném na ovladači CSI. Řešení poskytuje podrobné řízení pro výběr konkrétního oboru názvů nebo celého clusteru pro zálohování nebo obnovení uložením záloh místně v kontejneru objektů blob a jako snímky disků. Zálohování AKS můžete použít pro kompletní scénáře, včetně provozního obnovení, klonování vývojových/testovacích prostředí a scénářů upgradu clusteru.

Zálohování AKS se integruje s centrem zálohování v Azure a poskytuje jedno zobrazení, které vám pomůže řídit, monitorovat, provozovat a analyzovat zálohy ve velkém měřítku. Vaše zálohy jsou dostupné také na webu Azure Portal v části Nastavení v nabídce prostředků pro instanci AKS.

Poznámka:

Trezorové zálohování a obnovení mezi oblastmi pro AKS pomocí služby Azure Backup jsou aktuálně ve verzi Preview.

Jak funguje zálohování AKS?

Zálohování AKS slouží k zálohování úloh AKS a trvalých svazků nasazených v clusterech AKS. Řešení vyžaduje , aby bylo v clusteru AKS nainstalované rozšíření Backup. Trezor služby Backup komunikuje s rozšířením za účelem dokončení operací souvisejících se zálohováním a obnovením. Použití rozšíření Backup je povinné a rozšíření musí být nainstalované uvnitř clusteru AKS, aby bylo možné povolit zálohování a obnovení clusteru. Při konfiguraci zálohování AKS přidáte hodnoty pro účet úložiště a kontejner objektů blob, kde se ukládají zálohy.

Společně s rozšířením Backup se ve spravované skupině prostředků AKS vytvoří identita uživatele (označovaná jako identita rozšíření). Identitě rozšíření je přiřazena role Přispěvatel účtu úložiště v účtu úložiště, kde jsou zálohy uložené v kontejneru objektů blob.

Aby bylo možné podporovat veřejné, privátní a autorizované clustery založené na IP adresách, zálohování AKS vyžaduje, aby byl mezi clusterem AKS a trezorem služby Backup povolený důvěryhodný přístup. Důvěryhodný přístup umožňuje trezoru služby Backup přístup ke clusteru AKS kvůli určitým oprávněním, která jsou k němu přiřazena pro operace zálohování. Další informace o důvěryhodném přístupu AKS najdete v tématu Povolení přístupu k clusterům AKS pomocí důvěryhodného přístupu k prostředkům Azure.

Poznámka:

Zálohování AKS umožňuje ukládat zálohy v provozní vrstvě. Provozní úroveň je místní úložiště dat (ve vašem tenantovi jako snímky). Teď můžete přesunout jeden bod obnovení za den a uložit ho do úrovně trezoru jako objekty blob (mimo tenanta) pomocí zálohování AKS. Ke správě záloh můžete použít také trezor služby Backup.

Po instalaci rozšíření Backup a povolení důvěryhodného přístupu můžete nakonfigurovat naplánované zálohování pro clustery podle zásad zálohování. Zálohy můžete obnovit také do původního clusteru nebo do alternativního clusteru, který je ve stejném předplatném a oblasti. Při nastavování konkrétní operace můžete zvolit konkrétní obor názvů nebo celý cluster jako konfiguraci zálohování a obnovení.

Řešení zálohování umožňuje operace zálohování pro vaše zdroje dat AKS, které jsou nasazené v clusteru, a pro data uložená v trvalém svazku clusteru a pak uloží zálohy do kontejneru objektů blob. Trvalé svazky založené na disku se zálohují jako snímky disků ve skupině prostředků snímku. Snímky a stav clusteru v objektu blob se kombinují a tvoří bod obnovení uložený ve vašem tenantovi s názvem Provozní úroveň. Zálohy (první úspěšné zálohování za den, týden, měsíc nebo rok) můžete také převést na objekty blob a pak je přesunout do trezoru (mimo vašeho tenanta) jednou denně.

Poznámka:

Azure Backup v současné době podporuje pouze trvalé svazky v úložišti Azure Disk Storage založeném na ovladačích CSI. Během zálohování řešení přeskočí jiné typy trvalých svazků, jako jsou sdílená složka Azure a objekty blob. Zálohy mají také nárok na přesun do trezoru, pokud jsou trvalé svazky menší nebo rovny 1 TB.

Konfigurace zálohování

  • Pokud chcete nakonfigurovat zálohy pro clustery AKS, nejprve vytvořte trezor služby Backup. Trezor poskytuje konsolidované zobrazení záloh, které jsou nakonfigurované napříč různými zdroji dat. Zálohování AKS podporuje zálohy provozní vrstvy i vrstvy trezoru.

    Poznámka:

    • Trezor služby Backup a cluster AKS, který chcete zálohovat nebo obnovit, musí být ve stejné oblasti a předplatném.
    • Nastavení redundance úložiště trezoru služby Backup (LRS/GRS) se vztahuje pouze na zálohy uložené ve vrstvě trezoru. Pokud chcete použít zálohy pro zotavení po havárii, nastavte redundanci úložiště jako GRS s povoleným obnovením mezi oblastmi.
  • Zálohování AKS automaticky aktivuje naplánovanou úlohu zálohování. Úloha zkopíruje prostředky clusteru do kontejneru objektů blob a vytvoří přírůstkový snímek trvalých svazků založených na disku podle frekvence zálohování. Zálohy se uchovávají v provozní vrstvě a vrstvě trezoru podle doby uchovávání definované v zásadách zálohování a po uplynutí doby trvání se odstraní.

    Poznámka:

    Zálohování AKS můžete použít k vytvoření více instancí zálohování pro jeden cluster AKS pomocí různých konfigurací zálohování na instanci zálohování. Každá instance zálohování clusteru AKS by se ale měla vytvořit buď v jiném trezoru služby Backup, nebo pomocí samostatných zásad zálohování ve stejném trezoru služby Backup.

Správa zálohování

Po dokončení konfigurace zálohování clusteru AKS se v trezoru služby Backup vytvoří instance zálohování. Instanci zálohování pro cluster můžete zobrazit v části Zálohování instance AKS na webu Azure Portal. Pro instanci můžete provádět jakékoli operace související se zálohováním, například inicializování obnovení, monitorování, zastavení ochrany atd. prostřednictvím příslušné instance zálohování.

Zálohování AKS se také integruje přímo s centrem zálohování, které vám pomůže spravovat ochranu všech clusterů AKS a dalších úloh podporovaných zálohováním centrálně. Centrum zálohování je jedno zobrazení pro všechny požadavky na zálohování, jako je monitorování úloh a stav záloh a obnovení. Centrum zálohování pomáhá zajistit dodržování předpisů a zásad správného řízení, analyzovat využití zálohování a provádět důležité operace pro zálohování a obnovení dat.

Zálohování AKS používá spravovanou identitu pro přístup k dalším prostředkům Azure. Ke konfiguraci zálohování clusteru AKS a k obnovení ze starší zálohy vyžaduje spravovaná identita trezoru služby Backup sadu oprávnění ke clusteru AKS a skupině prostředků snímků, ve které se vytvářejí a spravují snímky. Cluster AKS v současné době vyžaduje sadu oprávnění pro skupinu prostředků snímku. Rozšíření Backup také vytvoří identitu uživatele a přiřadí sadu oprávnění pro přístup k účtu úložiště, kde se zálohy ukládají v objektu blob. Oprávnění ke spravované identitě můžete udělit pomocí řízení přístupu na základě role v Azure (Azure RBAC). Spravovaná identita je speciální typ instančního objektu, který lze použít pouze s prostředky Azure. Přečtěte si další informace o spravovaných identitách.

Obnovení ze zálohy

Data můžete obnovit z libovolného bodu v čase, pro který existuje bod obnovení. Bod obnovení se vytvoří, když je instance zálohy v chráněném stavu a dá se použít k obnovení dat, dokud je zásady zálohování nezachovají.

Azure Backup nabízí možnost obnovit všechny zálohované položky nebo použít podrobné ovládací prvky k výběru konkrétních položek ze záloh výběrem oborů názvů a dalších možností filtru. Obnovení můžete provést také v původním clusteru AKS (clusteru, který je zálohovaný) nebo v alternativním clusteru AKS. Zálohy uložené v provozní úrovni a vrstvě trezoru můžete obnovit do clusteru ve stejném a jiném předplatném. K obnovení do clusteru v jiné oblasti (spárované oblasti Azure) je možné použít pouze zálohy uložené ve vrstvě trezoru.

Pokud chcete obnovit zálohu uloženou ve vrstvě trezoru, musíte zadat pracovní umístění, kde jsou zálohovaná data hydratovaná. Toto pracovní umístění zahrnuje skupinu prostředků a účet úložiště ve stejné oblasti a předplatné jako cílový cluster pro obnovení. Během obnovení se v rámci hydrace vytvoří konkrétní prostředky (kontejner objektů blob, disk a snímky disků), které se po dokončení operace obnovení vymažou.

Azure Backup pro AKS v současné době podporuje následující dvě možnosti při operaci obnovení, když dojde ke střetu prostředků (zálohovaný prostředek má stejný název jako prostředek v cílovém clusteru AKS). Při definování konfigurace obnovení můžete zvolit jednu z těchto možností.

  1. Přeskočit: Tato možnost je ve výchozím nastavení vybraná. Pokud jste například zálohovali PVC s názvem pvc-azuredisk a obnovujete ho v cílovém clusteru se stejným názvem, rozšíření zálohování přeskočí obnovení zálohované trvalé deklarace svazku (PVC). V takových scénářích doporučujeme odstranit prostředek z clusteru a pak provést operaci obnovení, aby zálohované položky byly dostupné jenom v clusteru a nepřeskočily se.

  2. Oprava: Tato možnost umožňuje měnitelnou proměnnou oprav v zálohovaných prostředcích na prostředku v cílovém clusteru. Pokud chcete aktualizovat počet replik v cílovém clusteru, můžete se rozhodnout pro opravu jako operaci.

Poznámka:

Zálohování AKS v současné době neodstraní a znovu vytvoří prostředky v cílovém clusteru, pokud už existují. Pokud se pokusíte obnovit trvalé svazky v původním umístění, odstraňte existující trvalé svazky a pak proveďte operaci obnovení.

Použití vlastních háků pro zálohování a obnovení

Pomocí vlastních háků můžete pořizovat snímky svazků konzistentních vzhledem k aplikacím, které se používají pro databáze nasazené jako kontejnerizované úlohy.

Co jsou vlastní háky?

Pomocí zálohování AKS můžete spouštět vlastní háky jako součást operace zálohování a obnovení. Háky jsou příkazy, které jsou nakonfigurované tak, aby spouštěly jeden nebo více příkazů, které se mají spouštět v podu v kontejneru během operace zálohování nebo po obnovení. Tyto hooky definujete jako vlastní prostředek a nasadíte je v clusteru AKS, který chcete zálohovat nebo obnovit. Když je vlastní prostředek nasazený v clusteru AKS v požadovaném oboru názvů, zadáte podrobnosti jako vstup pro tok pro konfiguraci zálohování a obnovení. Rozšíření Backup spouští háky definované v souboru YAML.

Poznámka:

Háky se nespouštějí v prostředí kontejnerů.

Zálohování v AKS má dva typy háků:

  • Zálohovací háky
  • Obnovení háků

Zálohovací háky

V zaháku zálohování můžete nakonfigurovat příkazy pro spuštění háku před jakýmkoli vlastním zpracováním akcí (předhozky) nebo po dokončení všech vlastních akcí a všechny další položky určené vlastními akcemi se zálohují (post-hooky).

Tady je například šablona YAML pro vlastní prostředek, který se má nasadit pomocí háků zálohování:

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

Obnovení háků

Ve skriptu pro obnovení háku se vlastní příkazy nebo skripty zapisují tak, aby se spouštěly v kontejnerech obnoveného podu AKS.

Tady je šablona YAML pro vlastní prostředek, který se má nasadit pomocí háků pro obnovení:

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

Naučte se používat hooky během zálohování AKS.

Která úroveň úložiště zálohování podporuje zálohování AKS?

Azure Backup pro AKS podporuje dvě úrovně úložiště jako úložiště dat záloh:

  • Provozní úroveň: Rozšíření zálohování nainstalované v clusteru AKS nejprve provede zálohování pořízením snímků svazků prostřednictvím ovladače CSI a uloží stav clusteru do kontejneru objektů blob ve vašem vlastním tenantovi. Tato úroveň podporuje nižší cíl bodu obnovení s minimální dobou trvání mezi dvěma zálohami čtyř hodin. Pro svazky založené na discích Azure navíc provozní úroveň podporuje rychlejší obnovení.

  • Úroveň Vault Úrovně Standard (Preview): Pokud chcete ukládat zálohovaná data po delší dobu s nižšími náklady než snímky, podporuje zálohování AKS úložiště dat úrovně Vault úrovně Standard. Podle pravidel uchovávání informací nastavených v zásadách zálohování se první úspěšná záloha (den, týden, měsíc nebo rok) přesune do kontejneru objektů blob mimo vašeho tenanta. Toto úložiště dat umožňuje nejen delší uchovávání dat, ale také poskytuje ochranu proti ransomwaru. Zálohy uložené v trezoru můžete také přesunout do jiné oblasti (spárovaná oblast Azure) pro obnovení povolením geografické redundance a obnovení mezi oblastmi v trezoru záloh.

Poznámka:

Zálohovaná data můžete uložit ve standardním úložišti dat trezoru pomocí zásad zálohování definováním pravidel uchovávání informací. Do úrovně trezoru se přesune jenom jeden naplánovaný bod obnovení za den. Podle vybraného pravidla ale můžete do trezoru přesunout libovolný počet záloh na vyžádání.

Vysvětlení cen

Účtují se vám poplatky za:

  • Poplatek za chráněné instance: Azure Backup pro AKS účtuje poplatek za chráněnou instanci za obor názvů za měsíc. Když nakonfigurujete zálohování pro cluster AKS, vytvoří se chráněná instance. Každá instance má určitý počet oborů názvů, které se zálohují podle definice v konfiguraci zálohování. Další informace o cenách zálohování AKS najdete v tématu Ceny cloudového zálohování a jako úlohu vyberte Azure Kubernetes Service.

  • Poplatek za snímek: Azure Backup pro AKS chrání trvalý svazek založený na disku pořízením snímků uložených ve skupině prostředků ve vašem předplatném Azure. Za tyto snímky se účtují poplatky za úložiště snímků. Vzhledem k tomu, že se snímky nekopírují do trezoru služby Backup, neplatí náklady na úložiště zálohování. Další informace o cenách snímků najdete v tématu Ceny spravovaných disků.

Další krok