{"id":3481,"date":"2025-12-03T14:07:44","date_gmt":"2025-12-03T13:07:44","guid":{"rendered":"https:\/\/itservicenet.net\/?p=3481"},"modified":"2026-05-11T20:44:58","modified_gmt":"2026-05-11T20:44:58","slug":"k8s-quale-gw-controller-traefik-contour-envoy-haproxy-nginx","status":"publish","type":"post","link":"https:\/\/itservicenet.net\/en\/k8s-quale-gw-controller-traefik-contour-envoy-haproxy-nginx\/","title":{"rendered":"K8s quale gw controller? Traefik, Contour-Envoy, HAProxy, NGINX"},"content":{"rendered":"<h2><strong>Indice<\/strong><\/h2>\n<p><strong><a href=\"#intro\"><u>Intro<\/u><\/a><\/strong><\/p>\n<p><strong><a href=\"#gatewayAPI\"><u>Gateway API: cosa \u00e8 e perch\u00e9 rappresenta il futuro<\/u><\/a><\/strong><\/p>\n<p><strong><a href=\"#traefikproxy\"><u>Traefik Proxy<\/u><\/a><\/strong><\/p>\n<p><strong><a href=\"#countour\"><u>Contour + Envoy<\/u><\/a><\/strong><\/p>\n<p><strong><a href=\"#HAProxy\"><u>HAProxy Ingress \/ HAProxy Kubernetes Gateway<\/u><\/a><\/strong><\/p>\n<p><strong><a href=\"#nginx\"><u>NGINX OSS \/ NGINX Plus<\/u><\/a><\/strong><\/p>\n<p><strong><a href=\"#istio\"><u>Istio Ingress Gateway<\/u><\/a><\/strong><\/p>\n<p><strong><a href=\"#conclusioni\"><u>Conclusioni<\/u><\/a><\/strong><\/p>\n<div id=\"brxe-tlltfl\" class=\"brxe-text\">\u00a0<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"intro\"><strong>Intro<\/strong><\/h2>\n\n\n<div id=\"brxe-36ef46\" class=\"brxe-text\">\n<p>Nel panorama Kubernetes, la scelta dell\u2019ingress controller o gateway controller \u00e8 cruciale: non solo perch\u00e9 gestisce il traffico nord\u2010sud (e spesso est\u2010ovest) del cluster, ma perch\u00e9 influisce su sicurezza, operativit\u00e0, scalabilit\u00e0, costi e sostenibilit\u00e0.<\/p>\n<p>Con l\u2019annuncio della deprecazione di progetti consolidati, \u00e8 il momento ideale per rivedere le opzioni e definire un percorso.<\/p>\n<p>In questo articolo partiamo dal progetto Gateway API \u2014 la direzione \u201cufficiale\u201d dell\u2019ecosistema Kubernetes \u2014 e poi analizziamo le alternative, con criteri pratici per aiutarti a scegliere.<\/p>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"gatewayAPI\"><strong><strong><strong>Gateway API: cos&#8217;\u00e8 e perch\u00e9 rappresenta il futuro<\/strong><\/strong><\/strong><\/h2>\n\n\n<p>Il progetto Gateway API definisce una nuova generazione di API per il routing L4 e L7 in Kubernetes:<\/p>\n<p>gateway-api.sigs.k8s.io<\/p>\n<p><strong>Alcuni elementi salienti<\/strong><\/p>\n<p>\u00c8 progettato per essere espressivo, portabile, e orientato ai ruoli (infrastruttura, operatori di cluster, sviluppatori)<\/p>\n<p>-Le risorse chiave: GatewayClass, Gateway, HTTPRoute \/ GRPCRoute, TLSRoute, ecc.<\/p>\n<p>-Supporta casi d\u2019uso complessi: traffico gRPC, routing multi\u2010namespace, splitting, mirroring, protocolli diversi da HTTP, ecc.<\/p>\n<p>-\u00c8 gi\u00e0 una specifica maturata e adottata da molti ingress controller e gateway controller.<\/p>\n<p><strong>Vantaggi principali:<\/strong><\/p>\n<ol>\n<li>Maggiore standardizzazione dell\u2019ecosistema: ogni controller che dichiara conformit\u00e0 alla Gateway API offre una superficie comune.<\/li>\n<li>Migliore separazione dei ruoli e delle responsabilit\u00e0: infrastruttura vs applicazione.<\/li>\n<li>Maggiore estensibilit\u00e0 e futuro: pensato per \u201cnext\u2010gen\u201d use case.<\/li>\n<\/ol>\n<p><strong>Quando considerarlo:<\/strong><\/p>\n<ul>\n<li>Se stai progettando un nuovo cluster.<\/li>\n<li>Se hai esigenze di routing avanzato, molti team\/namespace, multi-tenant.<\/li>\n<li>Se vuoi allinearti al futuro e minimizzare lock\u2010in.<\/li>\n<\/ul>\n\n\n<h2 class=\"wp-block-heading\" id=\"traefikproxy\"><strong>Traefik Proxy<\/strong><\/h2>\n\n\n<p>Traefik \u00e8 un controller\/middleware molto popolare, apprezzato per la semplicit\u00e0 e l\u2019integrazione rapida.<\/p>\n<p>Pro: facile da configurare, buona documentazione, supporta ingress e Gateway API, buona adozione.<\/p>\n<p>Contro: alcune funzionalit\u00e0 enterprise richiedono la versione commerciale; per scenari molto complessi pu\u00f2 risultare meno \u201cottimale\u201d rispetto a soluzioni \u201cheavy duty\u201d.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"countour\"><strong>Contour + Envoy<\/strong><\/h2>\n\n\n<div id=\"brxe-73e8bb\" class=\"brxe-text\">\n<p>Contour \u00e8 un ingress controller che utilizza Envoy come data\u2010plane: un mix potente.<\/p>\n<p><strong>Pro:<\/strong> performance elevate, adatto a ambienti enterprise o elevato traffico; supporto avanzato.<\/p>\n<p><strong>Contro:<\/strong> curva di apprendimento maggiore; richiede competenze Envoy.<\/p>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"HAProxy\"><strong>HAProxy Ingress \/ HAProxy Kubernetes Gateway<\/strong><\/h2>\n\n\n<div id=\"brxe-73e8bb\" class=\"brxe-text\">\n<p>HAProxy \u00e8 nome storico nel mondo del load\u2010balancing e routing.<\/p>\n<p><strong>Pro:<\/strong> latenza bassa, personalizzazione forte, adatto a scenari \u201chard core\u201d.<\/p>\n<p><strong>Contro:<\/strong> meno \u201cplug and play\u201d; documentazione meno ampia rispetto ad altre soluzioni.<\/p>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"nginx\"><strong>NGINX OSS \/ NGINX Plus<\/strong><\/h2>\n\n\n<div id=\"brxe-73e8bb\" class=\"brxe-text\">\n<p>Importante chiarire: non il progetto deprecato ingress-nginx, ma la famiglia NGINX OSS\/Plus con controller ufficiale.<\/p>\n<p><strong>Pro:<\/strong> ampia base di utenti, molte funzionalit\u00e0 enterprise (Plus), buona compatibilit\u00e0.<\/p>\n<p><strong>Contro:<\/strong> molte funzionalit\u00e0 avanzate sono a pagamento; pu\u00f2 comportare costi di licenza.<\/p>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"istio\"><strong>Istio Ingress Gateway<\/strong><\/h2>\n\n\n<div id=\"brxe-73e8bb\" class=\"brxe-text\">\n<p>Se gi\u00e0 utilizzi la service mesh (Istio) o prevedi di farlo, l\u2019Ingress Gateway di Istio pu\u00f2 essere la scelta.<\/p>\n<p><strong>Pro:<\/strong> integrazione totale con mTLS, policy, telemetria, routing complesso.<\/p>\n<p><strong>Contro:<\/strong> se usato solo per \u201cingress semplice\u201d \u00e8 sovradimensionato e comporta maggiore complessit\u00e0 operativa.<\/p>\n<\/div>\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusioni\"><strong>Conclusioni<\/strong><\/h2>\n\n\n<div id=\"brxe-73e8bb\" class=\"brxe-text\">\n<p>Dal progetto Gateway API alle alternative maturate come Traefik, Contour\/Envoy, HAProxy, NGINX Plus, Istio \u2013 non esiste \u201cuna sola scelta giusta\u201d.<br \/>La vera scelta \u00e8 quella che risponde al tuo scenario, alla tua organizzazione, alle tue competenze e alla tua visione di medio-lungo termine.<br \/>Se hai un cluster da migratore o un ambiente che va rinnovato, questo \u00e8 il momento giusto per valutare con attenzione, non lasciarsi prendere dal panico, e definire un piano ponderato.<\/p>\n<p><u><a href=\"https:\/\/www.linkedin.com\/in\/emilio-veronesi\/\" target=\"_blank\" rel=\"noopener\"><strong><em>Emilio Veronesi<\/em><\/strong><\/a><\/u><\/p>\n<\/div>\n\n\n<div class=\"wp-block-buttons is-layout-flex wp-block-buttons-is-layout-flex\">\n<div class=\"wp-block-button\"><a class=\"wp-block-button__link wp-element-button\" href=\"mailto:marketing@itservicenet.net\">Scrivici<\/a><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>La recente comunicazione ufficiale da parte di Ingress NGINX, uno dei controller di ingresso pi\u00f9 utilizzati nell\u2019ecosistema Kubernetes genera discussione.<\/p>\n","protected":false},"author":2,"featured_media":3482,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":2,"footnotes":""},"categories":[{"term_id":2,"name":"Articoli","slug":"articoli","term_group":0,"term_taxonomy_id":2,"taxonomy":"category","description":"","parent":0,"count":33,"filter":"raw","cat_ID":2,"category_count":33,"category_description":"","cat_name":"Articoli","category_nicename":"articoli","category_parent":0},{"term_id":15,"name":"Kubernetes","slug":"kubernetes","term_group":0,"term_taxonomy_id":15,"taxonomy":"category","description":"","parent":0,"count":4,"filter":"raw","cat_ID":15,"category_count":4,"category_description":"","cat_name":"Kubernetes","category_nicename":"kubernetes","category_parent":0}],"tags":[14],"class_list":["post-3481","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-articoli","category-kubernetes","tag-kubernetes"],"images":{"thumbnail":"https:\/\/itservicenet.net\/wp-content\/uploads\/2025\/12\/Traefik-Contour_Envoy-HAProxy-NGINX-150x150.jpg","medium":"https:\/\/itservicenet.net\/wp-content\/uploads\/2025\/12\/Traefik-Contour_Envoy-HAProxy-NGINX-300x200.jpg","medium_large":"https:\/\/itservicenet.net\/wp-content\/uploads\/2025\/12\/Traefik-Contour_Envoy-HAProxy-NGINX-768x512.jpg","large":"https:\/\/itservicenet.net\/wp-content\/uploads\/2025\/12\/Traefik-Contour_Envoy-HAProxy-NGINX-1024x682.jpg","full":"https:\/\/itservicenet.net\/wp-content\/uploads\/2025\/12\/Traefik-Contour_Envoy-HAProxy-NGINX.jpg"},"_links":{"self":[{"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/posts\/3481","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/comments?post=3481"}],"version-history":[{"count":2,"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/posts\/3481\/revisions"}],"predecessor-version":[{"id":5338,"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/posts\/3481\/revisions\/5338"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/media\/3482"}],"wp:attachment":[{"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/media?parent=3481"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/categories?post=3481"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/itservicenet.net\/en\/wp-json\/wp\/v2\/tags?post=3481"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}