Aplikacja czy tam system kopii zapasowej Velero jest narzędziem do wykonywania oraz co najważniejsze, do przywracania kopii zapasowych zasobów działających w ramach klastrów Kubernetes oraz stałych wolumenów (persistent volumes).
Parafrazując mistrza Yodę, rozwiązanie pozwala nam na:
Tak zapewne lub nie, mógłby nam powiedzieć nasz mistrz inwersji.
Samo Velero zostało „przejęte” przez VMware już jakiś czas temu. Być może jednym z powodów było to, że firma chciał posiadać narzędzie, które w pełni się integruje z vSphere with Tanzu.
Oczywiście żeby była pełna jasność Velero posiada również integracje z AWS, GCP, Azure. Dodatkowo również wspiera CSI (Containter Storage Interface) dlatego też jak zrobicie sobie własny klaster Kubernetes to też zadziała. Te integracje są wspierane i rozwijane przez Velero. Możemy wykorzystać pluginy dostarczone przez społeczność Velero. Dzięki temu mamy możliwość integracji się z AlibabaCloud czy też DigitalOcean. Deklarowane jest również wsparcie m.in. dla HPE, OpenStack czy Portworx (Pure Storage). Do komunikacji z S3 (w celu składowania kopii zapasowych) wykorzystywany jest plugin AWS Object Storage. Daje nam on również możliwość połączenia się z innymi przestrzeniami dyskowymi S3 np. MinIO, Cloudian, IBM czy Oracle Cloud.
Skupiam się na tym rozwiązaniu ze względu, że VMware zajmuje się na co dzień. Dodatek Velero Plugin for vSphere wspiera integracje z:
W tym pierwszym przypadku, żeby nam wszystko działało musimy mieć NSX-T jako część sieciową. W drugim przypadku potrzebujemy integracji pluginu z Supervisior Cluster. Aktualnie Tanzu zmienia się dość mocno pod kątem integracji z systemami zewnętrznymi i to na plus, więc tylko czekać aż jednym przyciskiem będzie można włączyć Velero lub wyłączyć.
A przepraszam jest już takie coś i nazywa się Taznu Mission Control, ale to już inna bajka.
Żeby było łatwiej, całe rozwiąznie składa się z kilku bloków. W sumie jest ich tylko 4, więc nie jest tragicznie. Zatem kolejno odlicz:
Schemat rozwiązania wygląda tak:
Zapomniałbym całkowicie, że Velero jest podzielone na 2 części!
Jedna część (serwer) to ta odpowiedzialna za kopie zapasowe i przywracanie, uruchamiana w ramach klastra.
Druga uruchamiana lokalnie (klient).
Klient jest dostarczany w formie CLI, ale jest bardzo prosty. Zasada działania również. Jako użytkownik chcemy wykonać kopie zapasową np. całego namespace. W pierwszej kolejności Velero wykonuje kopie zapasową metadanych na S3. Następnie wysyłana jest prośba do pluginu o wykonanie snapshotu określonego PVC. Po zakończeniu tej operacji Backupdriver tworzy odpowiednik tego snapshotu w Supervisior Cluster. Sterownik działający w ramach Supervisior Cluster tworzy nowy snapshot i oraz przesyła informacje do Data Mover w celu przeniesienia danych na S3. Po wszystkim wszystkie snaphosty są usuwane. Przywracanie działa na bardzo podobnej zasadzie, przy czym jest tworzone żądanie przywrócenia PVC, czyli CloneFromSnapshot.
Jak widać, gdy kontenery mają jakieś zasoby dyskowe w środowisku vSphere to jak w przypadku maszyn wirtualnych nie ma większego problemu, żeby i je poddawać kopiom zapasowym. A jak wiemy lepiej mieć nić nie mieć, dlatego też
niech moc będzie z Wami i backup też
Artykuł został opublikowany w ramach partnerstwa: