‫Se hai pensato alle tue distribuzioni e
‫ai tuoi servizi su di esse, potresti
‫aver capito che finora non abbiamo parlato di OSI Layer
‫7, di
‫routing di nomi HTTP o di routing DNS o
‫di come desideri chiamarlo. Fondamentalmente, l'idea che se
‫sei su un server con più siti che devono utilizzare le
‫stesse porte, giusto. Porta 80 e 443,
‫quindi hai bisogno di qualcosa che instrada verso contenitori
‫diversi, basato su qualcosa di diverso dalla sola porta.
‫Quello in Kubernetes è noto come Ingress.
‫È una risorsa specifica e non è necessariamente un bilanciamento
‫del carico o qualsiasi cosa tu possa
‫attribuire a un servizio.
‫È tecnicamente qualcos'altro che è veramente
‫focalizzato sul problema comune della maggior parte dei cluster
‫che vogliono eseguire molti siti Web
‫diversi o contenitori diversi per URL
‫e nomi diversi. Ecco dove è focalizzato
‫l'intero progetto è il progetto Ingress.
‫Non è installato, per impostazione predefinita,
‫sul cluster Kubernetes, ma ci sono funzionalità ufficiali per esso.
‫Il modo in cui funziona è che Kubernetes non
‫ha inventato un proxy HTTP.
‫Forniscono solo meccanismi per altri
‫proxy di terze parti per utilizzare le
‫funzionalità in modo da installare l'ingresso nel cluster.
‫Quindi puoi dire alle tue app, in base a
‫quale usi, come utilizzare quel proxy per accedere al
‫tuo contenitore.
‫Un buon esempio potrebbe essere il sito Web A. com e hai il sito Web
‫B. com.
‫Saranno due, diverse distribuzioni.
‫Devi in qualche modo ottenere le stesse porte su tutti i tuoi
‫nodi ... è 80443.
‫È necessario ottenere i diversi siti Web
‫nei diversi contenitori. Ecco a cosa serve Ingress.
‫In Swarm non avevamo questa funzionalità pronta all'uso.
‫Quindi, dovevi davvero distribuire alcuni proxy come
‫contenitore e non aveva davvero nulla a che fare
‫con quel contenitore. Non capiva cosa fosse Ingress.
‫Ma Kubernetes lo fa.
‫Quando vai a guardare la documentazione, il tipo di esempio
‫predefinito di cui tutti parlano è Nginx.
‫Abbiamo usato Nginx in questo corso.
‫Quello dovrebbe probabilmente essere quello che dovresti provare prima.
‫Preferisco qualcos'altro.
‫In realtà mi piace Traefik e lo vedrai in alcuni dei miei
‫esempi, specialmente nel mio corso Swarm.
‫Quando mi vedrai parlare alle conferenze, parlerò
‫spesso di Traefik perché era un proxy creato nel
‫mondo dei container.
‫Il suo inizio era basato sull'idea che tutti questi
‫contenitori effimeri girassero e si spegnessero, e abbiamo bisogno di
‫riprogrammare un proxy, e dobbiamo preoccuparci di SSL e
‫di tutte le altre cose di cui abbiamo bisogno per
‫più siti Web in un cluster contenitore.
‫Quindi, hanno progettato questo nuovo prodotto che sta generando
‫altri prodotti. Ora ha un'intera azienda
‫alle spalle e supporta i contratti. Potresti
‫voler dare un'occhiata. Ci sono molti venditori che realizzano
‫questi plugin per Kubernetes, inclusi i principali, giusto.
‫Anche HAProxy, F5 e
‫nuovi giocatori come Envoy e Istio supportano i
‫tipi di ingresso. Dirò che, tecnicamente, la stessa funzione
‫di ingresso è ancora beta in 1. 15.
‫Ognuno di questi avrà la propria implementazione a seconda
‫di quale si sceglie.
‫F5 è un bilanciamento del carico hardware esterno
‫molto comune nell'azienda.
‫Ovviamente, il controller Ingress per questo aiuterà
‫a controllare quella risorsa esterna dall'interno dei tuoi Kubernetes.
‫Il punto centrale di tutto
‫ciò è che quando i tuoi sviluppatori
‫di applicazioni scrivono il loro YAML con
‫le persone DevOps, o forse con lo stesso team Ops,
‫sono in grado di inserire le annotazioni nel loro YAML
‫necessarie per l'ingresso controller per capire cosa farne.
‫Fondamentalmente, come li instrado?
‫Qual è la strada giusta? Dove lo sto portando?
‫Quali porte sto usando? Sto afferrando SSL per
‫te? Ricevo i certificati? Me ne
‫fornirai un po '? Tutta quella roba è gestita.
‫Innanzitutto, ti suggerisco di cercare tra le risorse.
‫Forse prova semplicemente Nginx per impostazione predefinita.
‫Sicuramente, se non hai un'opinione, prova
‫Traefik perché è facile da usare e ha
‫molte funzionalità, tra cui Let's Encrypt per ottenere automaticamente certificati per
‫te e per i tuoi siti web.
‫Se conosci i tuoi requisiti hardware o i requisiti software
‫per ciò che devi fare con Ingress, c'è un
‫elenco nella documentazione che puoi vedere
‫nelle risorse qui di tutte le diverse opzioni Ingress.