Wykonywanie kopii zapasowych w Kubernetesie

Co warto wiedzieć o kopii bezpieczeństwa klastra Kubernetes? 

Tradycyjnie podejście oparte o wykonywanie backupu pojedynczych całych serwerów/węzłów niekoniecznie sprawdzi się w odniesieniu do klastrów Kubernetes, w których wszystkie uruchomione aplikacje działają jako kontenery. W przypadku klastra K8s powinniśmy utworzyć kopie zapasowe następujących jego elementów: 

  • danych zapisanych na wolumenach (StatefulSets), 
  • konfiguracji klastra i jego zasobów (np. obiekty dodane do klastra, jak Deployments, Secrets etc.). 

Nie zapominajmy też, że klastry Kubernetes są jedną z wielu części naszej infrastruktury. Dlatego powinniśmy tworzyć kopie zapasowe wszystkich narzędzi/serwisów, które komunikują się z klastrem lub są przez niego używane: 

  • narzędzia CD/CI,  
  • bazy danych klucz-wartość,  
  • relacyjne bazy danych, 
  • obrazy kontenerów (rejestry kontenerów). 

Dostawcy usług cloudowych oferują nam usługi, które pozwalają wykonywać kopie zapasowe klastrów Kubernetes, lecz najczęściej wymagają one stworzenia wielu dedykowanych skryptów/narzędzi, które zajmą się całym procesem. Dlatego też na rynku możemy znaleźć wiele organizacji tworzących oprogramowanie, które pozwala na kompleksowe podejście do wykonywania kopii zapasowych. Do najpopularniejszych należą m.in.: 

  • Velero, 
  • Kasten K10, 
  • Rancher.