Získejte protokol Kubernetes Ingress pro ladění

Ziskejte Protokol Kubernetes Ingress Pro Ladeni



Víte, co je to Get Kubernetes ingress log pro ladění? Diagnostika problémů se sítí je stále náročnější, protože nasazení se rozrůstá a rozrůstá. Tento tutoriál vám ukáže, jak používat plugin ingress-nginx kubectl k ladění přístupu k vaší aplikaci prostřednictvím řadiče ingress. Nejprve se podívejme na definici Kubernetes ingress, která je důležitá pro lepší pochopení hlavního tématu.

Co je Kubernetes Ingress?

Definice vniknutí je „vstup“ v jeho doslovném smyslu.







V komunitě Kubernetes to platí také. Provoz, který vstupuje do shluku, se označuje jako příchozí, zatímco provoz, který shluk opouští, se označuje jako odchozí.




Jako nativní zdroj Kubernetes je ingress srovnatelný s pody, nasazeními atd. Pomocí ingress můžete držet krok s konfiguracemi směrování DNS. Kontrolér vstupu je to, co provádí směrování. Dělá to čtením směrovacích pravidel přímo z příchozích objektů, které jsou uloženy v etcd. Bez vstupu Kubernetes můžete aplikaci vystavit vnějšímu světu tím, že do nasazení zahrnete službu Type Load Balancer.



Jak Kubernetes Ingress funguje?

Jsou dvě klíčové věci, ve kterých musíte mít jasno. Tyto jsou:





Zdroj Kubernetes Ingress

Tento prostředek má na starosti údržbu všech pravidel směrování DNS v clusteru. Pravidla směrování DNS jsou specifikována v prostředku Kubernetes Ingress, nativním prostředku Kubernetes. Jinými slovy, namapujete externí provoz DNS na interní cíle služby Kubernetes.



Kubernetes Ingress Controller

Získáním přístupu k pravidlům DNS, která jsou implementována vstupními prostředky, mají řadiče vstupu Kubernetes (Nginx/HAProxy atd.) na starosti směrování.

Implementace Ingress Controlleru není nativní pro Kubernetes. V důsledku toho nemůže být výchozím nastavením clusteru.

Aby pravidla vstupu fungovala, musíme nakonfigurovat řadič vstupu. Na trhu existuje mnoho open-source a business ingress controllerů. Clusterová verze reverzního webového proxy serveru slouží jako ingress controller. Tento reverzní proxy server založený na Kubernetes je vystaven službě vyrovnávání zatížení.

Co je Ingress Controller?

Clusterový program s názvem Ingress Controller konfiguruje nástroj pro vyrovnávání zatížení HTTP podle zdrojů Ingress. Nástroj pro vyrovnávání zatížení může být externě nasazený hardwarový nebo cloudový nástroj pro vyrovnávání zatížení nebo může fungovat jako software v rámci clusteru. Různé implementace Ingress Controlleru jsou potřeba pro různé load balancery.

Při použití NGINX jsou load balancer a ingress controller umístěny v podu.

Pamatujte, že v clusteru musí být přítomen aktivní řadič vstupu, aby prostředek Ingress fungoval.

Ingress řadiče nejsou automaticky spouštěny s clusterem, na rozdíl od jiných typů řadičů, které fungují jako součást binárního systému kube-controller-manager.

Předpoklady:

Potřebujete cluster Kubernetes a pro připojení ke clusteru musíte nakonfigurovat nástroj příkazového řádku kubectl. Příkazy pro clustery Kubernetes můžete zadávat pomocí nástroje příkazového řádku kubectl. Aplikace mohou být nasazeny, prostředky clusteru mohou být kontrolovány a spravovány a protokoly mohou být viděny pomocí kubectl.

Pokud v současné době nemáte cluster, můžete jej vytvořit pomocí Minikube. Minikube je místní Kubernetes, jehož cílem je zjednodušit učení a vývoj Kubernetes.

Ke Kubernetes lze přistupovat pouze jedním příkazem, pokud máte prostředí virtuálního počítače nebo prostředí kontejneru Docker (nebo podobně kompatibilní). Začněme nyní krok za krokem:

Krok 1: Spusťte Minikube

Pomocí nástroje minikube můžete spustit Kubernetes lokálně. Minikube spouští na vašem počítači all-in-one nebo víceuzlový místní cluster Kubernetes pro každodenní vývojovou práci nebo pro testování Kubernetes (včetně Windows, Linux PC a macOS). Zde je příkaz pro spuštění minikube:

> spustit minikube



Krok 2: Aktivujte Ingress Controller

V tomto kroku si ukážeme, jak aktivovat ovladač NGINX Ingress. Proveďte následující příkaz:

> doplňky minikube umožnit vniknutí



Krok 3: Ověřte, zda regulátor vstupu NGINX funguje nebo ne

Nyní je důležité ověřit, zda je ovladač NGINX aktivní nebo ne. Následující příkaz lze použít k potvrzení, že:

> kubectl dostat lusky -n ingress-nginx



Uvědomte si prosím, že si až minutu nemusíte všimnout, že tyto moduly fungují správně. Výstup je zobrazen na předchozím obrázku.

Krok 4: Vytvořte aplikaci Hello World

Zde použijeme následující příkaz k vytvoření nasazení:

> kubectl vytvořit web pro nasazení --obraz =gcr.io / google-ukázky / ahoj aplikace: 1,0



Příkaz, který se provede, a jeho výsledky jsou připojeny na předchozím obrázku. Ve výstupu je vidět „hello-app“.

Krok 5: Odhalte rozmístění

Nyní vám ukážeme příkaz k odhalení konkrétního nasazení. Příkaz je zmíněn takto:

> kubectl vystavit nasazení Kalsoom  - -typ =NodePort --přístav = 8080



Výstup „service/kalsoom exponovaný“ můžete vidět na předchozím obrázku.

Krok 6: Navštivte Službu přes NodePort

Toto je důležitý krok, ve kterém vám ukážeme, jak můžete navštívit vytvořenou službu prostřednictvím NodePort. Příkaz k dosažení tohoto účelu je dán následujícím způsobem:

> minikube služba Kalsoom  --url



Příkaz spolu s výstupem je připojen na předchozím obrázku.

IP adresa Minikube a NodePort nyní usnadňují prohlížení ukázkové aplikace. Pro přístup k aplikaci v následujícím kroku můžete použít zdroj Ingress.

Krok 7: Vytvořte Ingress

Zde vytvoříme Ingress, který přenáší provoz do vaší služby. Příkaz je zmíněn takto:

> kubectl aplikovat -F https: // k8s.io / příklady / servis / vytváření sítí / example-ingress.yaml



Jak vidíte, příkaz je úspěšně proveden.

Krok 8: Ověřte IP adresu

Zkontrolujeme, zda je IP adresa nastavena nebo ne. K tomu použijeme následující zadaný příkaz:

> kubectl získat vstup



Ve výstupu byste měli ve sloupci ADRESA vidět adresu IPv4.

Závěr

Přehled protokolování NGINX Ingress Controller je uveden v tomto článku. Abych to shrnul, přístupové a chybové protokoly pro NGINX spolu s protokoly z procesu Ingress Controller, který vytvoří konfiguraci NGINX a znovu načte NGINX, aby ji použil, jsou dostupné prostřednictvím NGINX Ingress Controller.