Obteniu el registre d'entrada de Kubernetes per a la depuració

Obteniu El Registre D Entrada De Kubernetes Per A La Depuracio



Saps què és el registre d'entrada de Kubernetes per a la depuració? Els problemes de xarxa són cada cop més difícils de diagnosticar a mesura que els desplegaments creixen més i més. Aquest tutorial us mostra com utilitzar el connector ingress-nginx kubectl per depurar l'accés a la vostra aplicació mitjançant el controlador d'entrada. Vegem primer la definició de l'entrada de Kubernetes, que és important per entendre millor el tema principal.

Què és Kubernetes Ingress?

La definició d'entrada és 'entrada' en el seu sentit literal.







A la comunitat de Kubernetes, això també és cert. Un trànsit que entra al clúster es coneix com a entrada, mentre que un trànsit que surt del clúster es coneix com a sortida.




Com a recurs natiu de Kubernetes, l'entrada és comparable a pods, desplegaments, etc. Podeu mantenir-vos al dia amb les configuracions d'encaminament DNS mitjançant l'entrada. El controlador d'entrada és el que realitza l'encaminament. Ho fa llegint les regles d'encaminament directament des dels objectes d'entrada que s'emmagatzemen a etcd. Sense l'entrada de Kubernetes, podeu exposar una aplicació al món exterior incloent un equilibrador de càrrega de tipus de servei als desplegaments.



Com funciona Kubernetes Ingress?

Hi ha dues coses clau que cal tenir clares. Aquests són:





Recursos d'entrada de Kubernetes

Aquest recurs s'encarrega de mantenir totes les regles d'encaminament DNS del clúster. Les regles d'encaminament DNS s'especifiquen al recurs d'entrada de Kubernetes, un recurs natiu de Kubernetes. En altres paraules, mapeu el trànsit DNS extern a les destinacions internes del servei Kubernetes.



Controlador d'entrada de Kubernetes

En accedir a les regles DNS que s'implementen els recursos d'entrada, els controladors d'entrada de Kubernetes (Nginx/HAProxy, etc.) s'encarreguen de l'encaminament.

La implementació del controlador d'entrada no és nativa de Kubernetes. Com a resultat, no pot ser un clúster predeterminat.

Perquè les regles d'entrada funcionin, hem de configurar un controlador d'entrada. Hi ha molts controladors d'entrada comercial i de codi obert al mercat. La versió d'un clúster d'un servidor intermediari web inversa serveix com a controlador d'entrada. Aquest servidor intermediari invers basat en Kubernetes està exposat a un servei d'equilibri de càrrega.

Què és el controlador d'entrada?

Un programa que s'executa en clúster anomenat Ingress Controller configura un equilibrador de càrrega HTTP seguint els recursos d'Ingress. L'equilibrador de càrrega pot ser un maquinari desplegat externament o un equilibrador de càrrega del núvol, o pot funcionar com a programari dins del clúster. Es necessiten diferents implementacions del controlador d'entrada per a diversos equilibradors de càrrega.

Quan s'utilitza NGINX, l'equilibrador de càrrega i el controlador d'entrada es despleguen en un pod.

Tingueu en compte que un controlador d'entrada actiu ha d'estar present al clúster perquè el recurs d'entrada funcioni.

Els controladors d'entrada no s'inicien automàticament amb un clúster, a diferència dels altres tipus de controladors que funcionen com a component del binari kube-controller-manager.

Requisits previs:

Necessiteu un clúster de Kubernetes i heu de configurar l'eina de línia d'ordres kubectl per connectar-vos amb el vostre clúster. Podeu emetre les ordres als clústers de Kubernetes mitjançant l'eina de línia d'ordres kubectl. Les aplicacions es poden desplegar, els recursos del clúster es poden inspeccionar i gestionar i els registres es poden veure mitjançant kubectl.

Si actualment no teniu cap clúster, podeu utilitzar Minikube per construir-ne un. Minikube és un Kubernetes local que pretén facilitar l'aprenentatge i el desenvolupament de Kubernetes.

Es pot accedir a Kubernetes amb una sola ordre si teniu un entorn de màquina virtual o un entorn de contenidor Docker (o similar). Comencem ara el procés pas a pas:

Pas 1: inicieu el Minikube

Amb l'eina minikube, podeu executar el Kubernetes localment. Minikube executa un clúster local de Kubernetes tot en un o multinode a l'ordinador per al treball de desenvolupament diari o per provar els Kubernetes (inclosos ordinadors Windows, Linux i macOS). Aquí teniu l'ordre per iniciar el minikube:

> iniciar minikube



Pas 2: habiliteu el controlador d'entrada

Demostrarem com activar el controlador d'entrada NGINX en aquest pas. Executeu l'ordre següent:

> complements de minikube habilitar entrada



Pas 3: verifiqueu si el controlador d'entrada NGINX funciona o no

Ara, és important verificar si el controlador NGINX està actiu o no. L'ordre que segueix es pot utilitzar per confirmar que:

> kubectl obtenir beines -n ingress-nginx



Tingueu en compte que és possible que no noteu que aquestes beines funcionen correctament fins a un minut. La sortida es mostra a la imatge anterior.

Pas 4: creeu una aplicació Hello World

Aquí, fem servir l'ordre següent per crear un desplegament:

> kubectl crea web de desplegament --imatge =gcr.io / google-samples / hola-aplicació: 1.0



L'ordre que s'executa i els seus resultats s'adjunten a la imatge anterior. A la sortida, es pot veure 'hola-aplicació'.

Pas 5: exposa el desplegament

Ara, us mostrarem una ordre per exposar un desplegament específic. L'ordre s'esmenta de la següent manera:

> Kubectl exposa el desplegament Kalsoom  - -tipus =NodePort --port = 8080



Podeu veure la sortida 'servei/kalsoom exposat' a la imatge anterior.

Pas 6: visiteu el servei mitjançant NodePort

Aquest és un pas important on us mostrem com podeu visitar el servei creat a través del NodePort. L'ordre per aconseguir aquest propòsit es dóna a la següent:

> servei minikube Kalsoom  --url



L'ordre juntament amb la sortida s'adjunta a la imatge anterior.

Ara, l'adreça IP de Minikube i NodePort faciliten la visualització de l'aplicació de mostra. Podeu utilitzar el recurs Ingress per accedir a l'aplicació al pas següent.

Pas 7: creeu una entrada

Aquí, creem un Ingress que transmet el trànsit al vostre Servei. L'ordre s'esmenta de la següent manera:

> s'aplica kubectl -f https: // k8s.io / exemples / servei / treball en xarxa / exemple-ingress.yaml



Com podeu veure, l'ordre s'executa correctament.

Pas 8: verifiqueu l'adreça IP

Comprovem si l'adreça IP està configurada o no. Per a això, utilitzem la següent comanda donada:

> kubectl entra



A la sortida, hauríeu de veure una adreça IPv4 a la columna ADRESSE.

Conclusió

En aquest article es proporciona una visió general del registre del controlador d'entrada NGINX. En resum, els registres d'accés i errors de NGINX juntament amb els registres del procés del controlador d'entrada que crea la configuració de NGINX i torna a carregar NGINX per aplicar-lo, estan disponibles pel controlador d'entrada de NGINX.