Tworzenie kopii zapasowej usługi Azure Kubernetes Service przy użyciu usługi Azure Backup
W tym artykule opisano sposób konfigurowania i tworzenia kopii zapasowej usługi Azure Kubernetes Service (AKS).
Usługa Azure Backup umożliwia tworzenie kopii zapasowych klastrów usługi AKS (zasobów klastra i trwałych woluminów dołączonych do klastra) przy użyciu rozszerzenia Kopia zapasowa, które należy zainstalować w klastrze. Magazyn kopii zapasowych komunikuje się z klastrem za pośrednictwem rozszerzenia Kopia zapasowa w celu wykonywania operacji tworzenia kopii zapasowych i przywracania.
Wymagania wstępne
Kwestie, które należy zapewnić przed skonfigurowaniem kopii zapasowej dla klastra usługi AKS:
- Obecnie usługa AKS Backup obsługuje tylko trwałe woluminy oparte na usłudze Azure Disk Storage włączone przez sterownik CSI. Kopie zapasowe są przechowywane tylko w operacyjnym magazynie danych (dane kopii zapasowej są przechowywane w dzierżawie i nie są przenoszone do magazynu). Magazyn usługi Backup i klaster usługi AKS muszą znajdować się w tym samym regionie.
- Usługa AKS Backup używa kontenera obiektów blob i grupy zasobów do przechowywania kopii zapasowych. Kontener obiektów blob zawiera zasoby klastra usługi AKS. Trwałe migawki woluminów są przechowywane w grupie zasobów. Klaster usługi AKS i lokalizacje magazynu muszą znajdować się w tym samym regionie. Dowiedz się , jak utworzyć kontener obiektów blob.
- Obecnie usługa AKS Backup obsługuje kopie zapasowe raz dziennie. Obsługuje również częstsze kopie zapasowe (w 4-godzinnych, 8-godzinnych i 12-godzinnych interwałach) dziennie. To rozwiązanie umożliwia przechowywanie danych na potrzeby przywracania przez maksymalnie 360 dni. Dowiedz się, jak utworzyć zasady tworzenia kopii zapasowych.
- Należy zainstalować rozszerzenie Kopia zapasowa, aby skonfigurować operacje tworzenia kopii zapasowych i przywracania dla klastra usługi AKS. Dowiedz się więcej o rozszerzeniu Kopii zapasowej.
- Przed zainicjowaniem operacji konfiguracji i przywracania kopii zapasowej upewnij się, że masz
Microsoft.KubernetesConfiguration
subskrypcję ,Microsoft.DataProtection
iMicrosoft.ContainerService
zarejestruj się w tej subskrypcji. - Przed zainicjowaniem operacji tworzenia kopii zapasowej lub przywracania kopii zapasowej usługi AKS upewnij się, że wszystkie wymagania wstępne są spełnione.
Aby uzyskać więcej informacji na temat obsługiwanych scenariuszy, ograniczeń i dostępności, zobacz macierz obsługi.
Tworzenie magazynu kopii zapasowych
Magazyn kopii zapasowych to jednostka zarządzania, która przechowuje punkty odzyskiwania traktowane w czasie. Magazyn kopii zapasowych udostępnia również interfejs umożliwiający wykonywanie operacji tworzenia kopii zapasowych. Operacje obejmują wykonywanie kopii zapasowych na żądanie, przywracanie i tworzenie zasad tworzenia kopii zapasowych. Usługa AKS Backup wymaga, aby magazyn usługi Backup i klaster usługi AKS znajdowali się w tym samym regionie. Dowiedz się , jak utworzyć magazyn usługi Backup.
Uwaga
Magazyn kopii zapasowych to nowy zasób używany do tworzenia kopii zapasowych nowo obsługiwanych źródeł danych. Magazyn usługi Backup różni się od magazynu usługi Recovery Services.
Jeśli chcesz użyć usługi Azure Backup do ochrony klastrów usługi AKS przed awarią regionalną, możesz włączyć przywracanie między regionami. Aby włączyć przywracanie między regionami, należy wykonać następujące kroki:
Ustaw parametr Nadmiarowość magazynu kopii zapasowych jako geograficznie nadmiarowy podczas tworzenia magazynu. Po ustawieniu nadmiarowości magazynu nie można go wyłączyć.
Ustaw parametr Przywracania między regionami w obszarze Właściwości magazynu jako Włączone. Po włączeniu tego parametru nie można go wyłączyć.
Utwórz wystąpienie kopii zapasowej przy użyciu zasad kopii zapasowych z czasem przechowywania ustawionym dla magazynu danych w warstwie Standardowa. Każdy punkt odzyskiwania przechowywany w tym magazynie danych będzie znajdować się w regionie pomocniczym.
Tworzenie zasad kopii zapasowych
Przed skonfigurowaniem kopii zapasowych należy utworzyć zasady tworzenia kopii zapasowych, które określają częstotliwość tworzenia kopii zapasowych i czas przechowywania kopii zapasowych.
Aby utworzyć nowe zasady kopii zapasowych:
Przejdź do utworzonego magazynu kopii zapasowych i wybierz pozycję Zarządzaj zasadami>>kopii zapasowych Dodaj.
Wprowadź nazwę zasad tworzenia kopii zapasowych.
W polu Typ źródła danych wybierz pozycję Kubernetes Services.
Na karcie Harmonogram i przechowywanie zdefiniuj harmonogram tworzenia kopii zapasowych.
- Częstotliwość tworzenia kopii zapasowych: wybierz częstotliwość tworzenia kopii zapasowych (co godzinę lub codziennie), a następnie wybierz czas przechowywania kopii zapasowych.
- Ustawienie przechowywania: nowe zasady tworzenia kopii zapasowych mają domyślną regułę zdefiniowaną przez regułę domyślną. Tę regułę można edytować i nie można jej usunąć. Reguła domyślna definiuje czas przechowywania dla wszystkich wykonanych kopii zapasowych warstwy operacyjnej. Można również utworzyć dodatkowe reguły przechowywania do przechowywania kopii zapasowych przez dłuższy czas trwania, który jest wykonywany codziennie lub co tydzień.
Możesz również utworzyć dodatkowe reguły przechowywania do przechowywania kopii zapasowych przez dłuższy czas trwania, który jest wykonywany codziennie lub co tydzień.
Uwaga
- Oprócz pierwszej pomyślnej kopii zapasowej dnia można zdefiniować reguły przechowywania dla pierwszej pomyślnej kopii zapasowej tygodnia, miesiąca i roku. Jeśli chodzi o priorytet, kolejność to rok, miesiąc, tydzień i dzień.
- Kopie zapasowe można skopiować w regionie pomocniczym (region sparowany platformy Azure) przechowywanym w warstwie magazynu, za pomocą której można przywrócić klastry usługi AKS do regionu pomocniczego, gdy region podstawowy jest niedostępny. Aby wybrać tę funkcję, użyj magazynu geograficznie nadmiarowego z włączonym przywracaniem między regionami.
Po skonfigurowaniu ustawień częstotliwości tworzenia kopii zapasowych i przechowywania wybierz przycisk Dalej.
Na karcie Przeglądanie + tworzenie przejrzyj informacje, a następnie wybierz pozycję Utwórz.
Instalowanie rozszerzenia kopii zapasowej i konfigurowanie kopii zapasowej
Za pomocą usługi AKS Backup można utworzyć kopię zapasową całego klastra lub określonych zasobów klastra wdrożonych w klastrze. Klaster można również chronić wiele razy zgodnie z wymaganiami dotyczącymi harmonogramu i przechowywania wdrożonej aplikacji lub wymaganiami dotyczącymi zabezpieczeń.
Uwaga
Aby skonfigurować wiele wystąpień kopii zapasowych dla tego samego klastra usługi AKS:
- Skonfiguruj kopię zapasową w tym samym magazynie usługi Backup, ale przy użyciu innych zasad tworzenia kopii zapasowych.
- Skonfiguruj kopię zapasową w innym magazynie usługi Backup.
Instalowanie rozszerzenia kopii zapasowej
Aby skonfigurować kopie zapasowe klastra usługi AKS:
W witrynie Azure Portal przejdź do klastra usługi AKS, którego kopię zapasową chcesz utworzyć.
W menu usługi w obszarze Ustawienia wybierz pozycję Kopia zapasowa.
Aby przygotować klaster usługi AKS do tworzenia kopii zapasowej lub przywracania, wybierz pozycję Zainstaluj rozszerzenie , aby zainstalować rozszerzenie kopii zapasowej w klastrze.
Podaj konto magazynu i kontener obiektów blob jako dane wejściowe.
Kopie zapasowe klastra usługi AKS są przechowywane w tym kontenerze obiektów blob. Konto magazynu musi znajdować się w tym samym regionie i subskrypcji co klaster.
Wybierz Dalej. Przejrzyj szczegóły instalacji rozszerzenia, a następnie wybierz pozycję Utwórz.
Rozpoczyna się instalacja rozszerzenia.
Konfigurowanie kopii zapasowych
Po pomyślnym zainstalowaniu rozszerzenia Kopii zapasowej wybierz pozycję Konfiguruj kopię zapasową.
Wybierz utworzony wcześniej magazyn kopii zapasowych. Magazyn kopii zapasowych powinien mieć włączony zaufany dostęp do klastra usługi AKS do utworzenia kopii zapasowej. Aby włączyć zaufany dostęp, wybierz pozycję Udziel uprawnień. Jeśli ta opcja jest już włączona, wybierz pozycję Dalej.
Na karcie Zasady tworzenia kopii zapasowych wybierz zasady tworzenia kopii zapasowych, które definiują harmonogram tworzenia kopii zapasowych i ich okresu przechowywania, a następnie wybierz przycisk Dalej.
Na karcie Źródła danych wybierz pozycję Dodaj/Edytuj, aby zdefiniować konfigurację wystąpienia kopii zapasowej.
W okienku Wybieranie zasobów do kopii zapasowej zdefiniuj zasoby klastra, których kopię zapasową chcesz utworzyć.
Dowiedz się więcej o konfiguracjach kopii zapasowych.
W obszarze Grupa zasobów migawki wybierz grupę zasobów, która ma być używana do przechowywania migawek woluminu trwałego (Azure Disk Storage), a następnie wybierz pozycję Weryfikuj.
Po zakończeniu walidacji, jeśli wymagane role nie są przypisane do magazynu w grupie zasobów migawki, zostanie wyświetlony błąd:
Aby rozwiązać ten problem, w obszarze Nazwa źródła danych zaznacz pole wyboru dla źródła danych, a następnie wybierz pozycję Przypisz brakujące role.
Po zakończeniu przypisywania roli wybierz pozycję Dalej>Konfiguruj kopię zapasową.
Konfiguracje kopii zapasowych
Usługa Azure Backup dla usługi AKS umożliwia zdefiniowanie granicy aplikacji w klastrze usługi AKS, którego kopię zapasową chcesz utworzyć. Możesz użyć filtrów dostępnych w konfiguracjach kopii zapasowych, aby wybrać zasoby do utworzenia kopii zapasowej, a także uruchomić niestandardowe zaczepienia. Zdefiniowana konfiguracja kopii zapasowej jest przywołyowana przez wartość nazwa wystąpienia kopii zapasowej. Poniższe filtry są dostępne do zdefiniowania granicy aplikacji:
Wybierz pozycję Wybierz przestrzenie nazw do utworzenia kopii zapasowej. Możesz wybrać pozycję Wszystkie , aby utworzyć kopię zapasową wszystkich istniejących i przyszłych przestrzeni nazw w klastrze lub wybrać określone przestrzenie nazw na potrzeby tworzenia kopii zapasowej.
Następujące przestrzenie nazw są pomijane z konfiguracji kopii zapasowych:
kube-system
,kube-node-lease
ikube-public
.Rozwiń węzeł Dodatkowe ustawienia zasobów, aby wyświetlić filtry, których można użyć do wybrania zasobów klastra do utworzenia kopii zapasowej. Możesz utworzyć kopię zapasową zasobów na podstawie następujących kategorii:
- Etykiety: zasoby usługi AKS można filtrować przy użyciu etykiet przypisywanych do typów zasobów. Wprowadź etykiety w postaci par klucz/wartość. Można połączyć wiele etykiet przy użyciu
AND
logiki. Jeśli na przykład wprowadzisz etykietyenv=prod;tier!=web
, proces wybiera zasoby, które mają etykietę z kluczemenv
iprod
wartością, oraz etykietą ztier
kluczem, dla którego wartość nieweb
jest . - Grupy interfejsów API: możesz również uwzględnić zasoby, udostępniając grupę i rodzaj interfejsu API usługi AKS. Możesz na przykład wybrać zasoby usługi AKS kopii zapasowej, takie jak Wdrożenia. Dostęp do listy zdefiniowanych grup interfejsów API platformy Kubernetes można uzyskać tutaj.
- Inne opcje: możesz włączyć lub wyłączyć tworzenie kopii zapasowych dla zasobów o zakresie klastra, woluminów trwałych i wpisów tajnych. Zasoby w zakresie klastra i woluminy trwałe są domyślnie włączone.
- Etykiety: zasoby usługi AKS można filtrować przy użyciu etykiet przypisywanych do typów zasobów. Wprowadź etykiety w postaci par klucz/wartość. Można połączyć wiele etykiet przy użyciu
Uwaga
Należy dodać etykiety do każdego wdrożonego pliku YAML i utworzyć kopię zapasową. Obejmuje to zasoby o zakresie przestrzeni nazw, takie jak trwałe oświadczenia woluminów i zasoby o zakresie klastra, takie jak woluminy trwałe.
Używanie punktów zaczepienia podczas tworzenia kopii zapasowej usługi AKS
W tej sekcji opisano sposób użycia punktu zaczepienia kopii zapasowej w celu utworzenia migawki spójnej z aplikacją klastra usługi AKS z wdrożonym programem MySQL (trwałym woluminem zawierającym wystąpienie programu MySQL).
Do wykonywania migawek woluminów spójnych na poziomie aplikacji można używać niestandardowych punktów zaczepienia w kopii zapasowej usługi AKS. Woluminy są używane w przypadku baz danych wdrożonych jako konteneryzowane obciążenia.
Korzystając z haka kopii zapasowej, można zdefiniować polecenia, aby zablokować i odblokować zasobnik MySQL, aby można było wykonać migawkę aplikacji woluminu. Rozszerzenie Kopia zapasowa organizuje następnie kroki uruchamiania poleceń w punktach zaczepienia i tworzy migawkę woluminu.
Wykonywana jest spójna na poziomie aplikacji migawka woluminu z wdrożonym programem MySQL, wykonując następujące czynności:
- Zasobnik z uruchomioną bazą danych MySQL jest zamrożony, aby żadna nowa transakcja nie została wykonana w bazie danych.
- Migawka jest wykonywana z woluminu jako kopii zapasowej.
- Zasobnik z uruchomionym programem MySQL jest odłączony, aby można było wykonać transakcje ponownie w bazie danych.
Aby włączyć punkt zaczepienia kopii zapasowej w ramach przepływu konfiguracji kopii zapasowej w celu utworzenia kopii zapasowej bazy danych MySQL:
Zapisz zasób niestandardowy na potrzeby przypinania kopii zapasowych za pomocą poleceń, aby zablokować i odblokować zasobnik PostgreSQL.
Możesz również użyć następującego przykładowego skryptu YAML postgresbackuphook.yaml, który zawiera wstępnie zdefiniowane polecenia:
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
Przed skonfigurowaniem kopii zapasowej należy wdrożyć zasób niestandardowy podpięcie kopii zapasowej w klastrze usługi AKS.
Aby wdrożyć skrypt, uruchom następujące polecenie:
kubectl apply -f mysqlbackuphook.yaml
Po zakończeniu wdrażania można skonfigurować kopie zapasowe dla klastra usługi AKS.
Uwaga
W ramach konfiguracji kopii zapasowej należy podać niestandardową nazwę zasobu i przestrzeń nazw, w której jest wdrażany zasób jako dane wejściowe.