[{"data":1,"prerenderedAt":406},["ShallowReactive",2],{"blog-post-blog_de-kubernetes-gateway-api-networking-neu-gedacht":3},{"id":4,"title":5,"body":6,"cover":391,"date":392,"description":393,"draft":394,"extension":395,"meta":396,"navigation":397,"path":398,"seo":399,"stem":400,"tags":401,"__hash__":405},"blog_de\u002Fde\u002Fblog\u002Fkubernetes-gateway-api-networking-neu-gedacht.md","Kubernetes Gateway API: Networking neu gedacht",{"type":7,"value":8,"toc":386},"minimark",[9,22,27,33,61,83,90,94,111,114,354,361,365,382],[10,11,12,13,17,18,21],"p",{},"Die klassische Ingress-Ressource hat das Kubernetes-Networking ueber Jahre gepraegt. Mit der ",[14,15,16],"strong",{},"Gateway API",", die seit Version 1.0 (Oktober 2023) den GA-Status erreicht hat und inzwischen in Version 1.3 vorliegt, steht ein deutlich maechtigerer Nachfolger bereit. Gleichzeitig hat SIG Network angekuendigt, ",[14,19,20],{},"Ingress-NGINX ab Maerz 2026"," nur noch im Best-Effort-Modus zu pflegen.",[23,24,26],"h2",{"id":25},"was-ist-die-gateway-api","Was ist die Gateway API?",[10,28,29,30,32],{},"Die ",[14,31,16],{}," ist eine Sammlung von Kubernetes-Ressourcen, die ein ausdrucksstaerkeres und erweiterbares Networking-Modell bereitstellen. Im Gegensatz zu Ingress unterstuetzt die Gateway API nativ:",[34,35,36,43,49,55],"ul",{},[37,38,39,42],"li",{},[14,40,41],{},"HTTP-Routing"," mit Header-basiertem Matching, Pfad-Rewriting und Traffic-Splitting",[37,44,45,48],{},[14,46,47],{},"TLS-Terminierung und Re-Encryption"," auf Gateway-Ebene",[37,50,51,54],{},[14,52,53],{},"Rollenbasiertes Design"," - Infrastruktur-Teams verwalten Gateways, Anwendungsteams definieren Routes",[37,56,57,60],{},[14,58,59],{},"Erweiterbarkeit"," durch standardisierte Extension Points statt proprietaerer Annotations",[10,62,63,64,67,68,67,71,74,75,78,79,82],{},"Version 1.3 (Juni 2025) brachte weitere Neuerungen wie ",[14,65,66],{},"prozentbasiertes Request Mirroring",", ",[14,69,70],{},"CORS-Filter",[14,72,73],{},"Gateway Merging"," und ",[14,76,77],{},"Retry Budgets",". Das Tool ",[14,80,81],{},"Ingress2Gateway"," (v1.0, Maerz 2026) erleichtert die Migration bestehender Ingress-Ressourcen.",[10,84,85],{},[86,87],"img",{"alt":88,"src":89},"Vergleich: Ingress vs. Gateway API","\u002Fimg\u002Fblog\u002Fkubernetes-gateway-api-vergleich.png",[23,91,93],{"id":92},"unterschiede-zu-ingress","Unterschiede zu Ingress",[10,95,96,97,100,101,67,104,74,107,110],{},"Ein zentraler Unterschied liegt in der ",[14,98,99],{},"Trennung von Verantwortlichkeiten",". Waehrend Ingress alle Konfiguration in einer einzigen Ressource buendelt, teilt die Gateway API die Zustaendigkeiten auf drei Ebenen auf: ",[14,102,103],{},"GatewayClass",[14,105,106],{},"Gateway",[14,108,109],{},"HTTPRoute",".",[10,112,113],{},"Eine typische HTTPRoute-Definition:",[115,116,121],"pre",{"className":117,"code":118,"language":119,"meta":120,"style":120},"language-yaml shiki shiki-themes github-light github-dark","apiVersion: gateway.networking.k8s.io\u002Fv1\nkind: HTTPRoute\nmetadata:\n  name: app-route\n  namespace: production\nspec:\n  parentRefs:\n    - name: main-gateway\n  hostnames:\n    - \"app.example.com\"\n  rules:\n    - matches:\n        - path:\n            type: PathPrefix\n            value: \u002Fapi\n      backendRefs:\n        - name: api-service\n          port: 8080\n          weight: 90\n        - name: api-service-canary\n          port: 8080\n          weight: 10\n","yaml","",[122,123,124,141,152,161,172,183,191,199,213,221,229,237,247,258,269,280,288,300,312,323,335,344],"code",{"__ignoreMap":120},[125,126,129,133,137],"span",{"class":127,"line":128},"line",1,[125,130,132],{"class":131},"s9eBZ","apiVersion",[125,134,136],{"class":135},"sVt8B",": ",[125,138,140],{"class":139},"sZZnC","gateway.networking.k8s.io\u002Fv1\n",[125,142,144,147,149],{"class":127,"line":143},2,[125,145,146],{"class":131},"kind",[125,148,136],{"class":135},[125,150,151],{"class":139},"HTTPRoute\n",[125,153,155,158],{"class":127,"line":154},3,[125,156,157],{"class":131},"metadata",[125,159,160],{"class":135},":\n",[125,162,164,167,169],{"class":127,"line":163},4,[125,165,166],{"class":131},"  name",[125,168,136],{"class":135},[125,170,171],{"class":139},"app-route\n",[125,173,175,178,180],{"class":127,"line":174},5,[125,176,177],{"class":131},"  namespace",[125,179,136],{"class":135},[125,181,182],{"class":139},"production\n",[125,184,186,189],{"class":127,"line":185},6,[125,187,188],{"class":131},"spec",[125,190,160],{"class":135},[125,192,194,197],{"class":127,"line":193},7,[125,195,196],{"class":131},"  parentRefs",[125,198,160],{"class":135},[125,200,202,205,208,210],{"class":127,"line":201},8,[125,203,204],{"class":135},"    - ",[125,206,207],{"class":131},"name",[125,209,136],{"class":135},[125,211,212],{"class":139},"main-gateway\n",[125,214,216,219],{"class":127,"line":215},9,[125,217,218],{"class":131},"  hostnames",[125,220,160],{"class":135},[125,222,224,226],{"class":127,"line":223},10,[125,225,204],{"class":135},[125,227,228],{"class":139},"\"app.example.com\"\n",[125,230,232,235],{"class":127,"line":231},11,[125,233,234],{"class":131},"  rules",[125,236,160],{"class":135},[125,238,240,242,245],{"class":127,"line":239},12,[125,241,204],{"class":135},[125,243,244],{"class":131},"matches",[125,246,160],{"class":135},[125,248,250,253,256],{"class":127,"line":249},13,[125,251,252],{"class":135},"        - ",[125,254,255],{"class":131},"path",[125,257,160],{"class":135},[125,259,261,264,266],{"class":127,"line":260},14,[125,262,263],{"class":131},"            type",[125,265,136],{"class":135},[125,267,268],{"class":139},"PathPrefix\n",[125,270,272,275,277],{"class":127,"line":271},15,[125,273,274],{"class":131},"            value",[125,276,136],{"class":135},[125,278,279],{"class":139},"\u002Fapi\n",[125,281,283,286],{"class":127,"line":282},16,[125,284,285],{"class":131},"      backendRefs",[125,287,160],{"class":135},[125,289,291,293,295,297],{"class":127,"line":290},17,[125,292,252],{"class":135},[125,294,207],{"class":131},[125,296,136],{"class":135},[125,298,299],{"class":139},"api-service\n",[125,301,303,306,308],{"class":127,"line":302},18,[125,304,305],{"class":131},"          port",[125,307,136],{"class":135},[125,309,311],{"class":310},"sj4cs","8080\n",[125,313,315,318,320],{"class":127,"line":314},19,[125,316,317],{"class":131},"          weight",[125,319,136],{"class":135},[125,321,322],{"class":310},"90\n",[125,324,326,328,330,332],{"class":127,"line":325},20,[125,327,252],{"class":135},[125,329,207],{"class":131},[125,331,136],{"class":135},[125,333,334],{"class":139},"api-service-canary\n",[125,336,338,340,342],{"class":127,"line":337},21,[125,339,305],{"class":131},[125,341,136],{"class":135},[125,343,311],{"class":310},[125,345,347,349,351],{"class":127,"line":346},22,[125,348,317],{"class":131},[125,350,136],{"class":135},[125,352,353],{"class":310},"10\n",[10,355,356,357,360],{},"Diese Route leitet Traffic fuer ",[122,358,359],{},"\u002Fapi"," an zwei Backend-Services weiter - 90 Prozent an die stabile Version, 10 Prozent an die Canary-Version. Solche Traffic-Splits erfordern bei Ingress externe Tools oder Controller-spezifische Annotations.",[23,362,364],{"id":363},"warum-das-wichtig-ist","Warum das wichtig ist",[10,366,367,368,67,371,67,374,377,378,381],{},"Mit der schrittweisen Abloesung von Ingress-NGINX und der wachsenden Unterstuetzung durch Implementierungen wie ",[14,369,370],{},"Istio",[14,372,373],{},"Envoy Gateway",[14,375,376],{},"NGINX Gateway Fabric"," und den ",[14,379,380],{},"AWS Load Balancer Controller"," wird die Gateway API zum neuen Standard fuer Kubernetes-Networking. Die rollenbasierte Architektur ermoeglicht eine klarere Trennung zwischen Plattform- und Anwendungsteams - ein entscheidender Vorteil in groesseren Organisationen.",[383,384,385],"style",{},"html pre.shiki code .s9eBZ, html code.shiki .s9eBZ{--shiki-default:#22863A;--shiki-dark:#85E89D}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":120,"searchDepth":143,"depth":143,"links":387},[388,389,390],{"id":25,"depth":143,"text":26},{"id":92,"depth":143,"text":93},{"id":363,"depth":143,"text":364},"\u002Fimg\u002Fblog\u002Fkubernetes-gateway-api-cover.jpg","2026-04-07","Die Gateway API loest Ingress als Standard fuer Kubernetes-Networking ab und bietet ein ausdrucksstaerkeres, rollenbasiertes Modell.",false,"md",{},true,"\u002Fde\u002Fblog\u002Fkubernetes-gateway-api-networking-neu-gedacht",{"title":5,"description":393},"de\u002Fblog\u002Fkubernetes-gateway-api-networking-neu-gedacht",[402,16,403,404],"Kubernetes","Cloud-Native","DevOps","pyeKPzeCqXOppIazpOJ4QX2xOs4OLRvaW1fD2JlYVOc",1775680577947]