Omówienie sieci platformy Kubernetes
Węzły
Często zdarza się, że platforma Kubernetes jest nazywana klastrem. Na wysokim poziomie klastry są grupą komputerów, które współpracują ze sobą i współdzielą zasoby, aby zwiększyć wydajność i dostępność. Jeśli jakiekolwiek komputery w klastrze kończą się niepowodzeniem, usługi uruchomione w klastrze mogą nadal działać na pozostałych działających komputerach.
Na platformie Microsoft Azure te komputery są nazywane maszynami wirtualnymi. Na platformie Kubernetes te maszyny wirtualne są nazywane węzłami.
Węzły wymagają łączności sieciowej, aby mogły komunikować się ze sobą i skutecznie kierować ruch sieciowy. Węzły muszą również komunikować się z płaszczyzną sterowania platformy Kubernetes, która zapewnia podstawowe usługi Kubernetes i aranżację obciążeń aplikacji, dzięki czemu mogą uruchamiać zasoby obciążenia aplikacji.
Zasobniki
W usłudze Kubernetes zasoby obciążenia aplikacji obejmują zasobniki, wdrożenia i zestawy. Zasobniki to najmniejsza jednostka wdrażalna w klastrze Kubernetes. Są one dystrybuowane między węzłami w sposób, który umożliwia najlepsze wykorzystanie dostępnych zasobów procesora i pamięci w węzłach. Zasobniki zazwyczaj reprezentują pojedyncze wystąpienie lub podskładnik aplikacji. Zasobnik może uruchamiać składnik koszyka zakupów, który zarządza elementami w koszyku klienta lub składnikem wysyłki obsługującym przetwarzanie zakończonych zamówień.
Można uruchomić wiele kopii lub replik tego samego zasobnika. Repliki dystrybuują wiele zasobników między węzłami, aby zapewnić wysoką dostępność. W przypadku wielu replik zasobników nasza aplikacja może nadal działać, jeśli składnik uruchomiony w zasobniku ulegnie awarii.
Dzięki funkcjom skalowania na platformie Kubernetes można dodawać lub usuwać zasobniki w odpowiedzi na poziom zapotrzebowania w klastrze. Możliwości samonaprawiania w rozwiązaniu Kubernetes mogą zastąpić dowolny zasobnik, który się nie powiedzie, a wbudowana obsługa aktualizacji stopniowej automatyzuje wdrażanie nowych wersji aplikacji bez żadnych przestojów.
Zasobniki są przypisywane nowe adresy IP podczas ich początkowego wdrażania. Ten adres IP jest używany do całej komunikacji sieciowej z zasobnikiem. Istnieje wiele scenariuszy, w których zasobnik ma przypisany nowy adres IP. Gdy zapotrzebowanie na klaster jest wysokie i występuje skalowanie, nowe zasobniki są wdrażane. Podczas aktualizowania aplikacji nowe zasobniki są wdrażane w celu zastąpienia starych zasobników. Jeśli zasobnik ulegnie awarii, nowy zasobnik automatycznie go zastąpi. Wszystkie te scenariusze powodują powstanie nowych adresów IP zasobnika.
Jeśli adresy IP zasobników często się zmieniają, jak platforma Kubernetes wie, gdzie wysyłać ruch sieciowy do naszej aplikacji? Odpowiedzią są usługi.
Usługi
Usługa Kubernetes znajduje się przed grupą zasobników i udostępnia statyczny adres IP. Gdy ruch dociera do usługi, usługa dystrybuuje ją w sposób okrężny do zestawu zasobników zaplecza. Usługa śledzi zmiany w adresach IP zasobników, aby upewnić się, że ruch sieciowy jest wysyłany do odpowiednich zasobników.