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.