Co to jest odkrycie usług w Kubernetes?

Co to jest odkrycie usług w Kubernetes?
Mikrousługi są używane w nowoczesnych systemach, aby były skalowalne i funkcjonalne. Dzięki swoim narzędziom i funkcjom Kubernetes tworzy idealne ustawienie dla mikrousług do współpracy. Rozwiązanie jako całość staje się znacznie bardziej elastyczne, ponieważ każdy element aplikacji jest wdrażany w pojemniku. Discovery Service to proces lokalizowania aplikacji i mikrousług w sieci.

Technika automatycznego znajdowania urządzeń i usług w sieci jest znana jako Discovery Service Discovery. Protokół Discovery Protocol (SDP) to standard sieciowy do wykrywania sieci i lokalizacji zasobów, gdy użytkownicy otrzymują odpowiednie zasoby, takie jak drukarka lub laptop z obsługą Bluetooth, w celu zmniejszenia problemów z konfiguracją.

Odkrywanie usług odbywa się w Kubernetes przy użyciu automatycznie utworzonych nazw usług odpowiadających adresowi IP usługi. W Kubernetes model usług oferuje najbardziej podstawowy, ale kluczowy element odkrywania mikrousług. Uznanie, jak aplikacja działa na Kubernetes, wymaga zrozumienia odkrycia usług. Kubernetes Service Syncs Standaryzuje i automatyzuje łączność między usługami, zajmując się problemami kontenerów w projektowaniu mikrousług. Usługi łączą kapsuły z siecią w spójny sposób.

Proces ustalenia, jak dołączyć do usługi, jest znany jako odkrycie serwisu. Odkrycie usług po stronie serwera i usługi po stronie klienta to główne rodzaje odkrywania usług. Aplikacje klientów mogą korzystać z podejść do wykrywania usług po stronie serwera do obsługi za pośrednictwem routera lub równoważenia obciążenia. Odkrycie usług po stronie klienta pozwala aplikacjom klientów zlokalizować usługi, przeszukując lub pytając rejestr usług zawierających instancje usług i punkty końcowe.

Instancje usługowe można zarejestrować i tymczasowo zawieszone w rejestrze usług w dwóch różnych metodach. Wzorzec samorejestracji pozwala podmiotom usługowym niezależnie zarejestrować się w rejestrze usług. Wzorzec rejestracji stron trzecich obejmuje wykonanie innego komponentu systemowego rejestracji i rozdzielczości z powodu usługi. Jednym z komponentów, które sprawiają, że ta platforma kontenerowa jest zdolna i dostosowująca się, jest Kubernetes Service Discovery. Poprzez standaryzację zaawansowane technologie, takie jak serwis, renderowanie Kubernetes Discovery bardziej skuteczne. W tym temacie przyjrzymy się niektórym podstawowym procesom odkrywania usług w Kubernetes.

Zacznijmy od zebrania niezbędnych usług, aby zbadać, w jaki sposób koncepcje usług Kubernetes działają w praktyce. Uzyskajmy dostęp do terminalu Ubuntu 20.04 LTS OS, aby porozmawiać o odkrywaniu usług w Kubernetes. W tym celu możesz użyć obszaru aplikacji lub klawisza skrótu, który jest „Ctrl+Alt+T”.

Aby zainicjować miniKube, uruchom poniższe polecenie.

$ minikube start

Bieżąca edycja MiniKube zostanie wyświetlona na wyjściu tej instrukcji. Teraz stworzymy przestrzeń nazw o nazwie „Opracuj”, używając polecenia CAT w skorupce.

$ cat << ENDL > przestrzeń rozwoju.yml

Treść zostanie dodana bezpośrednio do terminalu bez otwierania go z pliku.

Aby wygenerować przestrzeń nazw w terminalu, użyj polecenia jako:

$ kubectl Apply -f rozwój -namespace.yml

Przestrzeń nazw została skutecznie utworzona. Teraz ponownie utworzymy inną przestrzeń nazw o nazwie „Production” za pomocą polecenia CAT w skorupce.

Aby wygenerować przestrzeń nazw w terminalu, wykonaj polecenie jako:

$ kubectl Apply -f Production -Namespace.yml

Ponownie przestrzeń nazw została skutecznie utworzona. Teraz zamierzamy wdrożyć nasze przykładowe aplikacje w przestrzeni nazw, które stworzyliśmy wcześniej. W tym celu utworzymy wdrożenie o nazwie „Hello” dla programu nazwy, używając polecenia CAT w powłoce.

$ cat << ENDL > Opracowanie aplikacji.yml

Treść zostanie dodana bezpośrednio do terminalu bez otwierania go z pliku.

Aby utworzyć wdrożenie dla przestrzeni nazw programu, uruchom polecenie jako:

$ kubectl Zastosuj -f aplikację-wdrażanie.yml

Wdrożenie zostało skutecznie utworzone. Ponownie utworzymy kolejne wdrożenie dla przestrzeni nazw o nazwie „Production” za pomocą polecenia CAT w skorupce.

$ cat << ENDL > Produkcja aplikacji.yml

Aby utworzyć wdrożenie dla produkcyjnej przestrzeni nazw w terminalu, użyj polecenia jako:

$ kubectl Zastosuj -f aplikację-wdrażanie produkcji.yml

Wdrożenie zostało utworzone wydajnie, jak widać na wyświetlanym wyjściu. Teraz, aby zdefiniować kapsuły i znaleźć ich adres IP, zamierzamy wykonać polecenie poniżej:

$ kubectl Opisz Pods-Wall-Namespaces

Adresy IP dla każdego kapsuła na powyższym wyjściu są wewnętrzne i unikalne dla każdego zdarzenia. Za każdym razem, gdy ponownie wdrożymy aplikację, otrzymywano ona nowy adres IP. Możemy teraz sprawdzić, czy możemy pingować kapsułkę w klastrze. Utwórz plik za pomocą polecenia CAT jako.

$ cat << ENDL >> Jumpod.yml

Aby utworzyć kapsułkę dla domyślnej przestrzeni nazw w powłoce, uruchom polecenie jako:

kubectl Zastosuj -f Jumpod.yml

Krążek został utworzony, jak widać na wyżej wymienionym obrazie. Ping adres IP tymczasowego kapsuła wewnątrz domyślnej przestrzeni nazw za pomocą polecenia CAT w powładzie za pomocą polecenia Kubectl Exec.

$ kubectl exec -it Jumpod ping 10.244.0.149

System nazwy domeny jest jednym z podstawowych aspektów skutecznej usługi internetowej (DNS). Wszystkie treści internetowe i usługi internetowe zależą od DNS, więc musisz być w stanie szybko rozwiązać wszelkie problemy. Narzędzie o nazwie NSlookup to jedna metoda, aby to zrobić. Nslookup oznacza „wyszukiwanie serwerów nazw”, umożliwia sprawdzenie informacji o nazwie domeny i wykrycie problemów. Możemy zdobyć FQDN kapsuły za pomocą narzędzia NSlookup:

$ kubectl exec -it Jumpod nslookup 10.244.0.149

Teraz, aby sprawdzić zewnętrzny adres IP, wykonamy poniższe polecenie:

$ kubectl get Services-Wall-Namespaces

Wniosek

Podczas migracji do mikrousług odkrywanie usług jest prawdopodobnie najważniejszym elementem infrastruktury do wdrożenia. W tym samouczku widzieliśmy, jak proste jest ujawnienie aplikacji opinii publicznej z wykorzystaniem usług Kubernetes.