Co to jest platforma Kubernetes?
Oddzielony projekt mikrousług w połączeniu z niepodzielnością kontenerów umożliwia skalowanie aplikacji reagujących na zapotrzebowanie. W złożonych rozwiązaniach, takich jak aplikacja do śledzenia dronów, proces wdrażania, aktualizowania, monitorowania i usuwania kontenerów wprowadza wyzwania.
Przed zapoznaniem się z tym, co znajduje się na platformie Kubernetes, należy najpierw zrozumieć dwie koncepcje: zarządzanie kontenerami i orkiestratory.
Na czym polega zarządzanie kontenerami?
Zarządzanie kontenerami to proces organizowania, dodawania, usuwania lub aktualizowania znaczącej liczby kontenerów.
Aplikacja do śledzenia dronów składa się z wielu mikrousług odpowiedzialnych za zadania, takie jak buforowanie, kolejkowanie lub przetwarzanie danych. Każda z tych usług jest hostowana w kontenerze, który jest wdrażany, aktualizowany i skalowany niezależnie od siebie.
Na przykład w witrynie internetowej aplikacji do śledzenia dronów okaże się, że potrzebujesz większej liczby wystąpień usługi buforowania witryny, aby zachować wydajność w określonych porach dnia, aby dodać więcej wystąpień kontenera usługi buforowania.
Następnie załóżmy, że zwiększono liczbę wystąpień buforowania i trzeba wdrożyć nową wersję mikrousługi. Aby korzystać z nowej wersji, należy zaktualizować wszystkie aktywne kontenery.
Zarządzanie kontenerami ułatwia wykonywanie tych ręcznych powtarzających się zadań.
Co to jest orkiestrator kontenerów?
Orkiestrator kontenerów to system, który automatycznie wdraża aplikacje konteneryzowane i zarządza nimi. W ramach zarządzania orkiestrator obsługuje skalowanie dynamicznych zmian w środowisku w celu zwiększenia lub zmniejszenia liczby wdrożonych wystąpień aplikacji. Gwarantuje to również, że wszystkie wdrożone wystąpienia kontenerów zostaną zaktualizowane po wydaniu nowej wersji usługi.
Definicja platformy Kubernetes
Kubernetes to przenośna, rozszerzalna platforma typu open-source służąca do orkiestracji obciążeń konteneryzowanych oraz zarządzania nimi. Platforma Kubernetes upraszcza złożone zadania związane z zarządzaniem kontenerami i udostępnia konfigurację deklaratywną do organizowania kontenerów w różnych środowiskach obliczeniowych. Ta platforma aranżacji zapewnia taką samą łatwość użycia i elastyczność, jaką można już znać z platformy jako usługi (PaaS) lub infrastruktury jako usługi (IaaS).
Korzyści platformy Kubernetes
Korzyści wynikające z używania platformy Kubernetes są oparte na abstrakcji zadań.
Do zadań mogą należeć:
Samonaprawiania kontenerów; na przykład ponowne uruchamianie kontenerów, które kończą się niepowodzeniem lub zastępowanie kontenerów
Dynamiczne skalowanie liczby wdrożonych kontenerów w górę lub w dół na podstawie zapotrzebowania
Automatyzowanie aktualizacji stopniowych i wycofywania kontenerów
Zarządzanie magazynem
Zarządzanie ruchem sieci
Przechowywanie poufnych informacji, takich jak nazwy użytkowników i hasła oraz zarządzanie nimi
Ważne
Należy pamiętać, że wszystkie powyższe aspekty rozwiązania Kubernetes wymagają konfiguracji i dobrej znajomości technologii bazowych. Aby skonfigurować sieć Kubernetes, trzeba na przykład znać koncepcje, takie jak sieci wirtualne, moduły równoważenia obciążenia czy zwrotne serwery proxy.
Zagadnienia dotyczące platformy Kubernetes
Rozwiązanie Kubernetes umożliwia wyświetlanie centrum danych jako jednego dużego zasobu obliczeniowego. Nie musisz martwić się o to, jak i gdzie wdrażasz kontenery, tylko o wdrażanie i skalowanie aplikacji zgodnie z potrzebami.
Należy jednak pamiętać, że platforma Kubernetes nie jest jedną zainstalowaną aplikacją, która jest dostarczana z wszystkimi możliwymi składnikami potrzebnymi do zarządzania i orkiestracji rozwiązania konteneryzowanego:
Niektóre aspekty, takie jak wdrażanie, skalowanie, równoważenie obciążenia, rejestrowanie i monitorowanie, są opcjonalne. To Ty odpowiadasz za znalezienie najlepszego rozwiązania odpowiadającego potrzebom dotyczącym tych aspektów.
Rozwiązanie Kubernetes nie ogranicza typów aplikacji, które mogą być uruchamiane na platformie. Jeśli aplikacja może działać w kontenerze, można ją również uruchomić na platformie Kubernetes. Aby móc optymalnie wykorzystać rozwiązania kontenerowe, deweloperzy muszą zrozumieć pewne pojęcia, takie jak architektura mikrousług.
Platforma Kubernetes nie zapewnia oprogramowania pośredniczącego, struktur przetwarzania danych, baz danych, pamięci podręcznych ani systemów magazynu klastra. Wszystkie te elementy działają jako kontenery lub w ramach innej oferty usługi.
Aby platforma Kubernetes uruchamiała kontenery, potrzebuje środowiska uruchomieniowego kontenera, takiego jak Platforma Docker lub kontenera. Środowisko uruchomieniowe kontenera to obiekt, który jest odpowiedzialny za zarządzanie kontenerami. Na przykład środowisko uruchomieniowe kontenera uruchamia i zatrzymuje kontener oraz raportuje jego stan.
To Ty odpowiadasz za konserwację swojego środowiska Kubernetes. To na Tobie spoczywa na przykład odpowiedzialność za zarządzanie uaktualnieniami systemu operacyjnego oraz instalację i uaktualnienia platformy Kubernetes. To Ty zarządzasz również konfiguracją sprzętową maszyn hosta, na przykład siecią, pamięcią i magazynem.
Usługi w chmurze, takie jak Azure Kubernetes Service (AKS), zmniejszają te wyzwania, zapewniając hostowane środowisko Kubernetes. Te usługi upraszczają również wdrażanie konteneryzowanych aplikacji na platformie Azure i zarządzanie nimi. Dzięki usłudze AKS zyskujemy korzyści płynące z używania oprogramowania open-source, jakim jest platforma Kubernetes, przy jednoczesnym uniknięciu złożoności i nakładów operacyjnych występujących w przypadku uruchamiania własnego, niestandardowego klastra Kubernetes.
Uwaga
Nazwa Kubernetes jest czasami skracana do K8s. Cyfra 8 reprezentuje osiem znaków między literami K i s w wyrazie K[ubernete]s.