Llista de reproducció d'Ingress a Kubernetes - Part 3: Enrutament al Controlador d'Ingress de NGINX

Aprèn sobre l'enrutament a Kubernetes amb NGINX Ingress Controller, des de l'enrutament bàsic fins a l'ús d'expressions regulars i desplegaments canary. Descobreix com optimitzar l'accés a múltiples aplicacions sota una sola IP amb capacitats avançades de trànsit. Consulta exemples i man

sábado, 16 de agosto de 2025 • 5 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Kubernetes Ingress Playlist Part 3 Routing en NGINX Ingress Controller: en aquest lliurament expliquem de manera pràctica com funciona l'enrutament amb el controlador NGINX Ingress utilitzant dues aplicacions Nodejs senzilles anomenades simple-nodejs-app-1 i simple-nodejs-app-2 i mostrem els patrons d'enrutament més útils per a entorns de producció.

Introducció: Ingress és el recurs de Kubernetes que permet exposar serveis HTTP i HTTPS fora del clúster. El controlador NGINX actua com un proxy invers intel·ligent a la vora del clúster, inspeccionant les peticions entrants i encaminant-les als serveis de backend segons regles basades en host capçalera path capçaleres o condicions personalitzades. Amb NGINX Ingress es centralitza l'accés a múltiples aplicacions sota una sola IP o balancejador de càrrega i s'habiliten capacitats com terminació TLS desplegaments canary autenticació i polítiques avançades de trànsit.

Desplegament inicial: primer despleguem les dues aplicacions en desplegaments separats cadascuna amb el seu servei corresponent. Els manifests de desplegament es poden aplicar amb kubectl apply -f seguit de les URLs d'exemple al repositori del projecte. service-nodejs-app-1 escolta a targetPort 8080 i service-nodejs-app-2 a targetPort 8081. Comprovar els serveis i pods permet verificar que ambdues aplicacions estan llestes i accessibles des de l'Ingress.

1 Enrutament bàsic: en l'enrutament bàsic totes les peticions HTTP entrants es dirigeixen a un únic servei backend. Aquest patró és ideal quan el clúster allotja una sola aplicació o quan es vol un frontend comú per a tots els usuaris. Crear un recurs Ingress senzill apuntant el path arrel al servei service-nodejs-app-1 i aplicar el manifest amb kubectl apply -f nginx-ingress-basic-routing.yaml permet exposar l'aplicació a través del DNS del balancejador de càrrega.

2 Enrutament per path: l'enrutament basat en ruta permet enviar trànsit a diferents serveis segons el path de la URL. Per exemple les rutes /app1 i /app2 poden mapejar-se a service-nodejs-app-1 i service-nodejs-app-2 respectivament. Això és especialment útil en arquitectures de microserveis per compartir un únic domini i separar responsabilitats per path. Aplicar un manifest tipus nginx-ingress-path-based-routing.yaml i configurar registres A a DNS com Route 53 cap al NLB permet provar http chinmayto.com slash app1 i http chinmayto.com slash app2.

3 Enrutament per host: la presa de decisions d'enrutament pot basar-se en la capçalera Host permetent servir múltiples aplicacions sota diferents dominis o subdominis. Per exemple app1.chinmayto.com i app2.chinmayto.com poden mapejar-se a serveis diferents. Aquest patró facilita la multi tenancy i l'aïllament per domini mentre s'utilitza un únic controlador Ingress. Per posar-ho en marxa es crea un nginx-ingress-host-based-routing.yaml i s'afegeixen registres A per als subdominis apuntant al NLB.

4 Enrutament wildcard: les regles amb comodins permeten coincidir múltiples subdominis sota un domini base amb patrons tipus estrella per exemple anything.chinmayto.com. És ideal quan els subdominis es generen dinàmicament per a usuaris dashboards o altres serveis i no es vol declarar cada subdomini individualment. Configurar un Ingress amb host *.chinmayto.com i el registre DNS wildcard a Route 53 simplifica la gestió de subdominis.

5 Enrutament amb expressions regulars: usar regex a les rutes ofereix capacitats de coincidència més potents per a estructures de URL complexes o variables. Habilitant l'opció use regex a les anotacions i utilitzant pathType ImplementationSpecific es poden definir patrons com slash app1 paren barra o fin paren punt punt que enruten a backends segons regles avançades. Aquest enfocament permet gestionar rutes dinàmiques però requereix escriure les expressions amb cura i provar exhaustivament.

6 Enrutament canary: l'enrutament canary facilita el lliurament progressiu enviant un percentatge del trànsit a una versió canària de l'aplicació mentre la resta continua a la versió estable. Per exemple amb una anotació de canary weight al 20 per cent es redirigeix una part del trànsit a service-nodejs-app-2 mentre l'estable segueix a service-nodejs-app-1. Aquesta tècnica és clau per a desplegaments segurs A B testing i mitigació de riscos en producció.

Bones pràctiques i DNS: en exemples reals amb AWS EKS el NGINX Ingress Controller sol exposar-se a través d'un Network Load Balancer NLB i la resolució DNS es configura amb registres A a Route 53 apuntant al NLB. Per a TLS és recomanable gestionar certificats mitjançant cert manager o ACM segons la plataforma cloud. Monitorització logs i health checks són essencials per mantenir la resiliència i detectar regressions en desplegaments canary o canvis de rutes.

Sobre Q2BSTUDIO: Q2BSTUDIO és una empresa de desenvolupament de programari aplicacions a mida i programari a mida especialitzada en solucions empresarials que integren intel·ligència artificial i ciberseguretat. Oferim serveis cloud aws i azure serveis intel·ligència de negoci i solucions amb power bi per transformar dades en decisions. El nostre equip dissenya agents IA i implementa ia per a empreses que necessiten automatitzar processos optimitzar operacions i millorar l'experiència d'usuari. També proporcionem consultoria en ciberseguretat per protegir infraestructures i aplicacions i desenvolupem aplicacions a mida amb enfocament en escalabilitat rendiment i bones pràctiques de DevOps.

Serveis que podem aportar en els teus projectes: disseny i implementació d'Ingress i balanceig avançat a Kubernetes desplegaments a EKS o AKS configuració de TLS i certificats integració de pipelines CI CD migració a serveis cloud aws i azure desenvolupament de programari a mida desenvolupament de solucions d'intel·ligència artificial i agents IA integració de Power BI i serveis intel·ligència de negoci auditories i hardening en ciberseguretat i suport operatiu per a entorns productius.

Conclusió: dominar les capacitats d'enrutament del NGINX Ingress Controller permet construir plataformes Kubernetes segures i flexibles que suporten des d'aplicacions monolítiques fins a arquitectures microserveis multi domini i desplegaments avançats com canary. Si necessites ajuda per dissenyar implementar o mantenir aquestes solucions Q2BSTUDIO pot acompanyar-te amb experiència pràctica en aplicacions a mida programari a mida intel·ligència artificial ciberseguretat serveis cloud aws i azure serveis intel·ligència de negoci agents IA i power bi.

Recursos: per a exemples i manifests complets consulta el repositori del projecte a GitHub i si vols iniciar una col·laboració amb Q2BSTUDIO contacta amb el nostre equip per a una consultoria sobre arquitectura desplegaments i estratègies de lliurament continu.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.