Cos'è il controller di ingresso di kubernetes?

Cos'è il controller di ingresso di kubernetes?
Esistono molti modi per mostrare l'app del tuo cluster Kubernetes alla rete esterna. Devi solo scegliere il migliore per le tue esigenze. Nodeport, Ingress, Loadbalancer e Clusterip sono le quattro scelte chiave.

Tuttavia, attraverseremo il controller di ingresso in questa guida. L'API di Ingress Kubernetes ti consente di rivelare le app del cluster Kubernetes su Internet combinando le linee guida di routing in un'unica fonte. Per utilizzare Ingress, è necessario impostare un controller di ingresso nel cluster, che è responsabile dell'elaborazione delle informazioni sulle risorse di ingresso e di consentire il traffico in base alle regole di ingresso. Esaminiamo rapidamente cos'è un ingresso di Kubernetes e cosa offre un controller di ingresso prima di scavare nei numerosi controller di ingresso.

Kubernetes offre tre moduli di servizio per esporre alcune funzionalità del framework:

Clusterip: Il servizio Kubernetes standard è clusterip. Questa funzionalità viene creata all'interno di un cluster ed è accessibile solo attraverso i baccelli all'interno di quel cluster. Quindi, ogni volta che vogliamo rivelare un servizio ad altri pod nello stesso cluster, utilizziamo questo tipo di servizio. Il proxy di Kubernetes viene utilizzato per gestire questo servizio.

Nodeport: Ogni nodo nel cluster ha una porta aperta chiamata Nodeport. Anche se il tuo programma è installato su un nodo diverso, Kubernetes instrada in modo diretto il traffico in arrivo sull'Odeport all'applicazione.

LoadBalancer: In Kubernetes, la forma molto più di base del bilanciamento del carico è la distribuzione del carico che è semplice da risolvere nella fase del dispatcher. Kubernetes ha due canali di distribuzione del carico, entrambi regolati da una funzione chiamata Kube-Proxy che gestisce gli indirizzi IP virtuali utilizzati dalle applicazioni.

Anche se Kubernetes è stato emesso per la prima volta nel giugno 2014, l'API di Ingress Kubernetes è ancora in beta a partire dalla versione 1 di Kubernetes.18. L'API di Ingress si è concentrata sull'adattabilità ed è rimasta relativamente compatta dal suo lancio allo stato beta nel 2016 (Kubernetes V1.2).

Kubernetes Ingress è un'entità API di Kubernetes che offre regole di routing per la gestione dell'accessibilità degli utenti ai servizi di cluster di Kubernetes di solito tramite HTTPS/HTTP. È possibile creare facilmente linee guida per la propagazione del traffico con ingresso senza dover creare una serie di bilanciatori di carico o esporre ogni operazione sul nodo. Di conseguenza, è l'opzione giusta per l'uso nelle impostazioni di produzione.

In questa guida, elaboreremo un metodo in cui è possibile abilitare facilmente il controller di ingresso usando minikube.

Prerequisiti

Per abilitare il controller di ingresso nel sistema, è necessario avere un cluster minikube installato. Inoltre, devi avere i diritti sudo per accedere al tuo sistema.

Nota: Stiamo lavorando su Ubuntu 20.04 LTS durante la scrittura di questa guida. Puoi utilizzare il tuo sistema operativo preferito per l'implementazione.

Crea un cluster minikube

Inizialmente, devi creare un cluster minikube per abilitare il controller di ingresso in kubernetes. Per questo scopo particolare, dobbiamo avviare il terminale della riga di comando in Ubuntu 20.04 LTS.

È possibile avviare la finestra del terminale con l'aiuto di due semplici metodi. Uno di questi è aprirlo utilizzando la barra dell'applicazione del sistema operativo. L'altra opzione è quella di utilizzare la chiave di scelta rapida più semplice di "Ctrl+Alt+T".

Non appena segui uno di questi metodi, il terminale della riga di comando deve aprire. Prima di tutto, devi avviare il cluster minikube già installato nel tuo Ubuntu 20.04 LTS Sistema operativo. Per avviare Minikube, annotare il comando di seguito nella shell della riga di comando.

$ Minikube inizi

Durante l'esecuzione di questo comando, devi aspettare alcuni momenti per iniziare con Minikube. All'esecuzione riuscita del comando, è possibile visitare anche la versione Minikube visualizzata. Dopo aver eseguito questo passaggio, è possibile controllare lo stato di minikube eseguendo il comando citato nel terminale.

$ minikube stato

Dall'immagine sopra sfissi, è possibile verificare che l'host, il kubelet e l'apiserver siano tutti in esecuzione.

Abilita il controller di ingresso usando minikube

Non appena inizi il minikube, sei pronto per abilitare il controller di ingresso. Se si desidera controllare l'elenco dei componenti aggiuntivi del minikube, è necessario eseguire il seguente comando nel terminale:

Elenco di componenti aggiuntivi minikube $

Dopo l'esecuzione di questo comando, vedrai lo stato contro ogni componente aggiuntivo di minikube. Alcuni di essi sono abilitati e alcuni sono disabilitati. Ora, questo è il momento giusto per abilitare il controller di ingresso usando minikube. Quindi, per questo scopo specifico, devi scrivere il comando di seguito nella finestra del terminale.

$ minikube addons abilita ingredere

Poiché questo comando ha la parola chiave "abilita", quindi abiliterà il controller Ingress in Kubernetes.

Dopo l'esecuzione di questo comando, ora è possibile visualizzare che "l'addon ingresso è abilitato". Se si desidera verificarlo, è possibile eseguire il comando di seguito nel terminale con il flag -n.

Puoi visualizzare che ora lo stato è in esecuzione.

Conclusione

Guardando oltre, il controller di ingresso è un programma Kubernetes che regola un bilanciamento del carico HTTP in base alle risorse di ingresso. I bilanciatori di carico multipli richiedono necessariamente varie applicazioni del controller di ingresso. Nell'articolo di cui sopra, abbiamo spiegato il concetto di Ingress Controller in Kubernetes. Inoltre, abbiamo elaborato i passaggi su come abilitare l'ingresso usando minikube. Credo che dopo aver letto questo articolo, non ti rimane alcun dubbio riguardo al controller di ingresso in Kubernetes.