Co to jest platforma Kubernetes?

Ukończone

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, istnieją dwie koncepcje, które należy najpierw zrozumieć, 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.

Diagram of a server or application replicated as containers for cloud deployment.

Na przykład w witrynie internetowej aplikacji do śledzenia dronów można znaleźć w określonych porach dnia, potrzebujesz więcej wystąpień usługi buforowania witryny, aby zachować wydajność, 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.

Diagram showing how number of deployed container instances is automatically increased if demand rises and how an orchestrator ensures all deployed instances are updated with the latest software version.

Definicja platformy Kubernetes

Kubernetes to przenośna, rozszerzalna platforma typu open source do zarządzania i organizowania konteneryzowanych obciążeń. 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).

Diagram of replicated servers as multiple containers in a Kubernetes cluster.

Korzyści platformy Kubernetes

Korzyści wynikające z używania platformy Kubernetes są oparte na abstrakcji zadań.

Diagram that lists three Kubernetes benefits: self-healing, dynamic scaling, and rolling updates.

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.

Diagram that shows a list of Kubernetes components that including monitoring, microservices, databases, and the Docker runtime.

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.