Pojęcia dotyczące magazynu dla platformy Kubernetes
Kubernetes to otwarta platforma, która zarządza aplikacjami opartymi na kontenerach i skojarzonymi z nimi składnikami sieci i magazynu. Zapewnia ona deklaratywne podejście do wdrożeń, wspierane przez niezawodny zestaw interfejsów API na potrzeby operacji zarządzania.
Nowoczesne, przenośne, oparte na mikrousługach można tworzyć i uruchamiać przy użyciu platformy Kubernetes, aby organizować i zarządzać dostępności składników aplikacji.
Zarządzanie kontenerami i orkiestracja
zarządzanie kontenerami to proces organizowania, dodawania, usuwania lub aktualizowania znacznej liczby kontenerów. orkiestrator kontenerów to system, który automatycznie wdraża aplikacje konteneryzowane i zarządza nimi. Na przykład orkiestrator może dynamicznie reagować na zmiany w środowisku w celu zwiększenia lub zmniejszenia wdrożonych wystąpień aplikacji zarządzanej lub może zapewnić zaktualizowanie wszystkich wdrożonych wystąpień kontenera w przypadku wydania nowej wersji usługi.
Architektura platformy Kubernetes
Architektura platformy Kubernetes jest oparta na klastrach. Klaster Kubernetes jest podzielony na dwa podstawowe składniki infrastruktury:
- płaszczyzna kontrolna, która zapewnia podstawowe usługi Kubernetes i zarządzanie obciążeniami aplikacji.
- Węzły, które uruchamiają obciążenia robocze aplikacji. Każdy klaster ma co najmniej jeden węzeł, ale można zdefiniować liczbę i rozmiar węzłów. Pula węzłów to grupa węzłów współużytkujących tę samą konfigurację.
Zasoby dla obciążeń aplikacji znajdują się w zasobnikach . W Kubernetes pod to ulotny zasób reprezentujący pojedyncze wystąpienie aplikacji. Składa się z co najmniej jednego kontenera z udostępnionym magazynem i zasobami sieciowymi oraz specyfikacją sposobu uruchamiania kontenerów. Zawartość zasobnika jest zawsze współlokowana i współplanowana oraz uruchamiana we wspólnym kontekście.
Trwała pamięć w Kubernetes
W poprzedniej lekcji omówiliśmy mechanizmy wsparcia w kontenerach systemu Windows, które umożliwiają zapewnienie trwałego przechowywania dla aplikacji w środowisku lokalnym za pomocą punktów montowania i nazwanych woluminów. Jednak woluminy i instalacje powiązane mają pewne wady w przypadku użycia w środowisku rozproszonym, takich jak Kubernetes.
Woluminy i zamontowane systemy są powiązane ze specyficzną maszyną hosta, co oznacza, że nie są przenośne między węzłami w klastrze. Jeśli kontener jest zaplanowany w innym węźle niż ten, w którym są przechowywane jego dane, nie będzie mógł uzyskać do niego dostępu. Ponadto woluminy i instalacje powiązane nie są skalowalne ani odporne, ponieważ zależą one od dostępności i pojemności pojedynczej maszyny hosta.
Platforma Kubernetes rozwiązuje problemy z magazynowaniem kontenerów, wprowadzając dwie abstrakcje: woluminów trwałych i żądań trwałych woluminów.
Woluminy trwałe
pl-PL: Wolumen trwały (PV) to zasób pamięci masowej w klastrze, utworzony i zarządzany przez interfejs API Kubernetes, który może istnieć poza okresem istnienia pojedynczego poda. Administrator klastra może statycznie utworzyć PersistentVolume
lub serwer interfejsu API Kubernetes może utworzyć go dynamicznie przy użyciu klas magazynu . Pv to zasób w klastrze, tak jak węzeł jest zasobem klastra. PV mają cykl życia niezależny od każdego pojedynczego Poda korzystającego z PV.
Żądania trwałego wolumenu
Żądanie trwałego wolumenu (PVC) wymaga przydzielenia pamięci o określonym StorageClass
, trybie dostępu i rozmiarze. PCV działa jako kwit kontrolny dla zasobu przechowywania. Serwer interfejsu API Kubernetes może dynamicznie przydzielać podstawowy zasób pamięci masowej, jeśli żaden istniejący zasób nie może spełnić żądania na podstawie zdefiniowanej klasy pamięci masowej.
StorageClass
umożliwia administratorom opisywanie "klas" oferowanej przez nich pamięci masowej. Różne klasy mogą być mapowane na poziomy jakości usług lub do zasad tworzenia kopii zapasowych lub do dowolnych zasad określonych przez administratorów klastra. Sama platforma Kubernetes nie wyraża opinii na temat tego, co reprezentują klasy.
Gdy serwer API Kubernetes przypisze dostępny zasób magazynowy do zasobnika żądającego magazynu, PV zostaje powiązana z PVC. Woluminy trwałe są mapowane w relacji "jeden do jednego" do żądań woluminów trwałych.