Jakie są różne rodzaje usług w Kubernetes?

Jakie są różne rodzaje usług w Kubernetes?
Usługa w Kubernetes to abstrakcja, która opisuje zbiór pojęciowych kapsułek, w których uruchomi się aplikacja, oraz zasady dostępu do tego rodzaju kapsułek. Jeśli kapsułka musi połączyć się z jakimś innym kapsułem, musi najpierw określić swój adres IP. Usługi Kubernetes zapewniają również sposób na znalezienie niektórych strąków. Adresy IP POD są abstrakcyjne w modelu sieciowym Kubernetes; Jeśli kapsułka pęknie lub zostanie zniszczona, nowa kapsuła prawie na pewno uzyska nowy adres IP. Usługa w Kubernetes często zapewnia dostęp do sieci do kapsuły lub grupy kapsułek. Usługi będą wybierać kapsuły w zależności od ich nazw, a kiedy zapotrzebowanie sieci zostaną wysłane do takich usług, zidentyfikują wszystkie podski w klastrze, które pasują do etykiety usługi, wybierze jeden z nich, a następnie wysyłał do niej żądanie sieciowe.

Kategorie usług Kubernetes

Usługi Kubernetes są podzielone na cztery podstawowe kategorie:

Klasterip
W Kubernetes usługa klasterip jest rzeczywiście standardową formą usług. Zapewnia usługę w klastrze Kubernetes, którą inne aplikacje Kubernetes mogą zarządzać bez zapewnienia dostępu z zewnątrz. Jest to adres IP, który klaster Kubernetes i wszystkie jego usługi mogą korzystać. W przeciwieństwie do adresu IP POD, adres IP wykorzystywany w klasterip nie jest dostępny poza klastrem.

Nodeport
Każdy węzeł w klastrze ma otwarty port o nazwie Nodeport. Nawet jeśli Twoja aplikacja działa w innym węźle, Kubernetes prosto prowadzi ruch z Nodeport do usługi. Każdy klaster Kubernetes akceptuje Nodeport, ale musisz zmodyfikować swoje zapory, jeśli używasz dostawcy usług w chmurze, takim jak Google Cloud.

LOADBALANCER
LoadBalancer to popularny sposób na wprowadzenie usługi Kubernetes do świata zewnętrznego za pośrednictwem Internetu. LoadBalancer może być używany w podobny sposób jak klasterip i nodeport.Klaster zbliży się do dostawcy chmur i zbuduje moduł równoważenia obciążenia, jeśli wybierzesz loadbalancer jako kategorię usług. Ruch zostanie przekierowany do kapsułów zaplecza, gdy dotrze do tego równoważenia obciążenia. Szczegóły tej metody są określane przez sposób, w jaki każdy dostawca równoważenia obciążenia implementuje swoją technologię.

Nazwa zewnętrzna
Ponieważ usługi zewnętrzne nie mają żadnych selektorów ani stałych portów ani punktów końcowych, mogą przekierować ruch do usługi zewnętrznej. Ten formularz kojarzy usługę z elementami zewnętrznego pola nazwy. Wypełnia to, zwracając wartość rekordu CNAME.

Utwórz wdrożenie wraz z usługą

Wdrożenie Kubernetes monitoruje zdrowie kapsuła i, jeśli to konieczne, zresetuj pojemnik kapsuły. Wdrożenia to metoda zarządzania formacją i skalowaniem POD. Aby zarządzać kapsułką, utworzymy wdrożenie. W tym celu otwórzmy terminal Twojego Ubuntu 20.04 LTS System operacyjny. Możesz użyć w tym celu obszaru aplikacji lub klucza skrótu. Upewnij się, że w systemie masz zainstalowany minikube.

Wykonaj poniższe polecenie, aby rozpocząć miniKube.

$ minikube start

Na wyjściu tego polecenia zobaczysz wersję Minikube. Po tym poleceniu musisz otworzyć pulpit minikupowy za pomocą tego poniżej listy polecenia.

$ Minikube pulpit nawigacyjny

Teraz wszyscy jesteśmy gotowi utworzyć wdrożenie za pomocą polecenia utwórz. Musisz napisać poniższe polecenie, jak pokazano w terminalu.

Możesz zobaczyć, że węzeł hello został utworzony. Jeśli chcesz wyświetlić wdrożenia, możesz to łatwo zrobić, uruchamiając cytowane polecenie.

$ kubectl otrzymuj wdrożenia

W wyniku można zobaczyć podstawowe informacje związane z już utworzonym wdrożeniem. Możesz wyświetlić kapsułkę poprzez wykonanie tego polecenia:

$ kubectl get PODS

W wyniku poniżej podsumowania możesz łatwo wyświetlić wszystkie odpowiednie informacje związane z wymienionymi kapsułami. Jeśli chcesz wymienić zdarzenia klastra, możesz użyć następującego podstawowego polecenia w tym celu.

$ kubectl otrzymuj wydarzenia

Teraz możesz wyświetlić konfigurację Kubectl za pomocą komendy poniżej podania:

$ kubectl Config View

Wewnątrz klastra Kubernetes, POD byłby dostępny tylko według jego wewnętrznego adresu IP. Najlepiej byłoby ujawnić kontener Hello-Node jako usługę Kubernetes, aby udostępnić go na zewnątrz od sieci wirtualnej Kubernetes. Teraz zamierzamy ujawnić kapsułkę, używając komendy poniżej listy. Możesz także zobaczyć, że -Type = ładowanie, który ujawni powiązaną usługę poza klastrem.

Teraz nadszedł czas, aby wyświetlić utworzoną usługę. W tym celu możesz skorzystać z polecenia poniżej. Wyjście powinno być podobne do tego wyświetlanego na załączonym obrazie.

$ kubectl otrzymuj usługi

Aby wyświetlić informacje o usłudze Node Hello, możesz użyć następujące wyświetlone polecenie wraz z słowem kluczowym minikupowym.

$ Minikube Service Hello-Node

Możesz zobaczyć, że adres URL węzłów jest również wyświetlany na załączonym zrzucie ekranu wraz z portem docelowym. Na szczęście usługa będzie otwarta w przeglądarce twojego systemu operacyjnego. Możesz sprawdzić, czy informacje o usłudze są wyświetlane w przeglądarce systemu.

Wniosek

W tym przewodniku opracowaliśmy pojęcie usług w Kubernetes wraz z jego różnymi kategoriami. Wyjaśniliśmy również podstawowy przykład tworzenia wdrażania wraz z odpowiednią usługą. Czytając i wdrażając ten powyższy przewodnik, mam nadzieję, że łatwo zrozumiesz koncepcję usług Kubernetes i jej tworzenie.