Zdobądź dziennik Ingress Kubernetes do debugowania

Zdobądź dziennik Ingress Kubernetes do debugowania

Czy wiesz, co to jest dziennik get Kubernetes Ingress do debugowania? Problemy związane z tworzeniem sieci są coraz trudniejsze do zdiagnozowania, ponieważ wdrożenia stają się coraz większe. Ten samouczek pokazuje, jak korzystać z wtyczki Ingress-Nginx Kubectl do debugowania dostępu do aplikacji za pośrednictwem kontrolera Ingress. Najpierw zobaczmy definicję wnikania Kubernetes, która jest ważna, aby lepiej zrozumieć główny temat.

Co to jest Ingress Kubernetes?

Definicja wnikania jest „wejściem” w dosłownym sensie.

W społeczności Kubernetes to również prawda. Ruch, który wchodzi do klastra, jest określany jako wnikanie, podczas gdy ruch, który pozostawia klaster, jest określany jako wyjście.


Jako natywny zasób Kubernetes, Ingress jest porównywalny z POD, wdrożeniami itp. Możesz nadążyć za konfiguracją routingu DNS za pomocą Ingress. Kontroler Ingress jest tym, co wykonuje routing. Robi to, czytając reguły routingu prosto z obiektów Angress, które są przechowywane w ETCD. Bez Kubernetes Ingress możesz ujawnić aplikację do świata zewnętrznego, włączając w wdrażania moduł równoważenia obciążenia typu usługi.

Jak działa Kubernetes Ingress?

Są dwie kluczowe rzeczy, o których musisz się jasno. To są:

Kubernetes Ingress Resource

Ten zasób odpowiada za utrzymanie wszystkich reguł routingu DNS w klastrze. Reguły routingu DNS są określone w zasobach Kubernetes Ingress, natywnym zasobom Kubernetes. Innymi słowy, mapujesz zewnętrzny ruch DNS do wewnętrznych miejsc serwisowych Kubernetes.

Kubernetes Ingress Controller

Uzyskując dostęp do reguł DNS, które są wdrażane przez zasoby Ingress, kontrolery Kubernetes wnikają (Nginx/Haproxy itp.) są odpowiedzialne za routing.

Implementacja kontrolera Ingress nie pochodzi z Kubernetes. W rezultacie nie może to być domyślnie klaster.

Aby funkcjonować reguły Angress, musimy skonfigurować kontroler Angress. Na rynku istnieje wiele kontrolerów wnikania open source i biznesowych. Wersja klastra odwrotnego serwera proxy Web Server służy jako kontroler Ingress. Ten wsteczny serwer proxy oparty na Kubernetes jest narażony na usługę równoważenia obciążenia.

Jaki jest kontroler wnikowy?

Program prowadzony przez klaster o nazwie The Ingress Controllera konfiguruje równoważenie obciążenia HTTP po zasobach Ingress. Balancer obciążenia może być zewnętrznie wdrażanym sprzętem lub modułem równoważenia obciążenia w chmurze lub może funkcjonować jako oprogramowanie w klastrze. Dla różnych równowagi obciążenia potrzebne są różne implementacje kontrolera Ingress.

Podczas korzystania z Nginx równoważenie obciążenia i kontroler wnikników są wdrażane w POD.

Należy pamiętać, że w klastrze do funkcjonowania zasobu Ingress musi być obecny.

Kontrolery Ingress nie są automatycznie uruchamiane za pomocą klastra, w przeciwieństwie do innych typów kontrolerów, które działają jako element binarnego managera Kube.

Wymagania wstępne:

Potrzebujesz klastra Kubernetes i musisz skonfigurować narzędzie linii polecenia Kubectl, aby łączyć się z klastrem. Możesz wydać polecenia do klastrów Kubernetes za pomocą narzędzia linii poleceń Kubectl. Aplikacje mogą być wdrażane, zasoby klastra mogą być sprawdzane i zarządzane, a dzienniki można zobaczyć za pomocą Kubectl.

Jeśli obecnie nie masz klastra, do konstruowania jednego może być używany. MiniKube to lokalny kubernetes, którego celem jest uczynienie uczenia się i rozwijania Kubernetes.

Kubernetes można uzyskać za pomocą tylko jednego polecenia, jeśli masz środowisko maszyny wirtualnej lub środowisko kontenera Docker (lub podobnie kompatybilne). Rozpocznijmy proces krok po kroku:

Krok 1: Rozpocznij minikube

Korzystając z narzędzia minikube, możesz uruchomić Kubernetes lokalnie. Minikube obsługuje lokalny klaster Kubernetes na komputerze do codziennych prac programistycznych lub do przetestowania Kubernetes (w tym systemu Windows, Linux PC i MacOS). Oto polecenie rozpoczęcia minikube:

> Minikube start



Krok 2: Włącz kontroler wnikowy

W tym kroku zademonstrujemy, jak aktywować kontroler wnikania Nginx. Wykonaj następujące polecenie:

> Minikube dodatki umożliwiają wnikanie



Krok 3: Sprawdź, czy kontroler Ingress Nginx działa, czy nie

Teraz ważne jest, aby sprawdzić, czy kontroler Nginx jest aktywny, czy nie. Poniższe polecenie można użyć do potwierdzenia:

> kubectl get Pods -n Ingress -Nginx



Należy pamiętać, że możesz nie zauważyć, że te kapsuły działają poprawnie przez minutę. Wyjście jest wyświetlane na poprzednim obrazie.

Krok 4: Utwórz aplikację Hello World

Tutaj używamy następującego polecenia, aby utworzyć wdrożenie:

> kubectl Utwórz sieć wdrażania --Mage = GCR.IO/Google-Samples/Hello-App: 1.0



Wykonane polecenie, a jego wyniki są dołączone do poprzedniego obrazu. W wyjściu można zobaczyć „Hello-App”.

Krok 5: Ujawnij wdrożenie

Teraz pokażemy wam polecenie ujawnienia konkretnego wdrożenia. Polecenie jest wspomniane w następujący sposób:

> Kubectl Expose wdrożenie kalsoom --Type = nodeport --port = 8080



Możesz zobaczyć wyjście „Service/Kalsoom” na poprzednim obrazie.

Krok 6: Odwiedź usługę za pośrednictwem Nodeport

To ważny krok, w którym pokazujemy, jak możesz odwiedzić utworzoną usługę za pośrednictwem Nodeport. Polecenie do osiągnięcia tego celu jest podane następująco:

> Service Minikube Kalsoom --url



Polecenie wraz z wyjściem jest dołączone do poprzedniego obrazu.

Teraz minikube adres IP i Nodeport ułatwia wyświetlenie przykładowej aplikacji. Możesz użyć zasobu Ingress, aby uzyskać dostęp do aplikacji w następnym kroku.

Krok 7: Utwórz wnikanie

Tutaj tworzymy wnikanie, które przesyła ruch do Twojej usługi. Polecenie jest wspomniane w następujący sposób:

> kubectl Zastosuj -f https: // k8s.IO/Przykłady/serwis/sieć/przykładowa.Yaml



Jak widać, polecenie jest wykonywane pomyślnie.

Krok 8: Sprawdź adres IP

Sprawdzamy, czy adres IP jest ustawiony, czy nie. W tym celu używamy poniższego polecenia:

> kubectl zdobądź wnikanie



W wyjściu należy zobaczyć adres IPv4 w kolumnie adresu.

Wniosek

Przegląd rejestrowania kontrolera Ingress Nginx znajduje się w tym artykule. Podsumowując, dzienniki dostępu i błędów dla NGINX wraz z dziennikami z procesu kontrolera Ingress, który tworzy konfigurację Nginx i przeładowuje Nginx, aby ją zastosować, są udostępniane przez kontroler Ingress Nginx.