Dawno, dawno temu w odległej galaktyce nastał czas niepewności. Niepokój chwyta galaktykę… STOP! Co tutaj się wyprawia? Nie, niedawno, nie w odległej galaktyce, bo tu i teraz moda na konteneryzację się rozpędza! Czas niepewności przeminął, bo Velero i szkoleni przez niego Jedi pojawili się i robią ostrą instalację i integrację z VMware Tanzu oraz innymi. Tylko każdy zastanawia się o co mu chodzi z tym Velero, a ja już wyjaśniam.
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:
- przywracanie oraz zapasowej kopii wykonywanie, w momencie danych utraty
- Klastrami danych pomiędzy migracje
- Produkcyjnych do replik testowych i deweloperskich wykonywanie środowisk
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.
TERAZ PRZEJDZIEMY DO TEGO JAK WYGLĄDAJĄ WYMAGANIA I INTEGRACJA Z VMWARE TAZNU.
Skupiam się na tym rozwiązaniu ze względu, że VMware zajmuje się na co dzień. Dodatek Velero Plugin for vSphere wspiera integracje z:
- vSphere with Tanzu
- Tanzu Kubernetes Grid Service/TKGS
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.
PŁYNNIE PRZECHODZIMY TERAZ DO ARCHITEKTURY VELERO.
Ż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:
- Velero vSphere Operator – jest to serwis instalowany w ramach Supervisior Cluster, pomaga integrować się i wykonywać kopie zapasowe klastrów TKG.
- vSphere Plugin – to już jest element dostaraczany przez Velero i on wykonuje kopie zapasowe i przywracanie PVC.
- Backupdriver – przetwarza kopie zapasowe oraz zapewnia komunikacje z Data Mover’em w celu pobierania lub wgrywania kopii zapasowych
- Data Mover – on jest odpowiedzialny za wgrywanie danych do S3 i oczywiście za pobieranie
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 na łamach bloga evoila Poland.”