[{"data":1,"prerenderedAt":402},["ShallowReactive",2],{"news-kubernetes-1-37-garhwal-upgrade":3},{"id":4,"title":5,"author":6,"body":7,"cover":390,"date":391,"description":392,"extension":393,"hero":394,"meta":395,"navigation":396,"path":397,"seo":398,"showContactForm":399,"showTechNav":399,"stem":400,"__hash__":401},"content\u002Fnews\u002Fkubernetes-1-37-garhwal-upgrade.md","Kubernetes 1.37 „Garhwal“: Was sich ändert und was beim Upgrade bricht","Thomas K.",{"type":8,"value":9,"toc":382},"minimark",[10,14,19,22,25,81,84,88,91,139,142,146,158,186,193,249,257,278,302,329,337,341,350,354,378],[11,12,13],"p",{},"Kubernetes 1.37 „Garhwal“ bringt 67 Neuerungen und einige Stolpersteine für bestehende Cluster. Seit Anfang September rollt Microsoft die Version als Preview in AKS aus. Unsere Checkliste zu cgroup v2, IPVS, kube-dns und SELinux hilft Ihnen, das Upgrade vorzubereiten, bevor 1.37 allgemein verfügbar ist.",[15,16,18],"h2",{"id":17},"was-ist-passiert","Was ist passiert?",[11,20,21],{},"Am 26. August 2026 hat das Kubernetes-Projekt Version 1.37 veröffentlicht. Sie umfasst 67 Verbesserungen: 16 sind stabil, 23 im Beta- und 27 im Alpha-Stadium, dazu kommt eine Deprecation bzw. Entfernung.",[11,23,24],{},"Die wichtigsten Neuerungen:",[26,27,28,49,59,65,75],"ul",{},[29,30,31,35,36,40,41,44,45,48],"li",{},[32,33,34],"strong",{},"Metrics API stabil:"," ",[37,38,39],"code",{},"metrics.k8s.io",", die Grundlage für den Horizontal Pod Autoscaler (HPA) und ",[37,42,43],{},"kubectl top",", ist nach fast neun Jahren im Beta-Status stabil. ",[37,46,47],{},"v1beta1"," bleibt während des Übergangs nutzbar.",[29,50,51,54,55,58],{},[32,52,53],{},"KYAML stabil:"," Das strengere YAML-Format für Kubernetes-Manifeste lässt sich nun offiziell mit ",[37,56,57],{},"kubectl get -o kyaml"," ausgeben. Jede KYAML-Datei ist gültiges YAML.",[29,60,61,64],{},[32,62,63],{},"Dynamic Resource Allocation (DRA):"," Zentrale Teile wie der Gerätestatus in ResourceClaims, Extended Resources über DRA-Treiber und Device Taints sind stabil. Das betrifft vor allem GPU- und Spezialhardware.",[29,66,67,70,71,74],{},[32,68,69],{},"HPA Scale-to-Zero (Beta):"," Standardmäßig aktiv. Mit ",[37,72,73],{},"minReplicas: 0"," kann der HPA auf null skalieren, allerdings nur anhand von Object- oder External-Metriken, nicht anhand von CPU oder Speicher.",[29,76,77,80],{},[32,78,79],{},"SELinuxMount standardmäßig aktiv:"," Volumes werden auf SELinux-Systemen mit einem einzigen Kontext eingehängt, statt rekursiv umbenannt zu werden. Das ist schneller, hat aber Nebenwirkungen (siehe unten).",[11,82,83],{},"In AKS steht 1.37 seit den Release Notes vom 4. September als Preview bereit. Laut dem AKS-Release-Kalender ist die allgemeine Verfügbarkeit für Oktober 2026 geplant.",[15,85,87],{"id":86},"warum-betrifft-sie-das","Warum betrifft Sie das?",[11,89,90],{},"Neben neuen Funktionen enthält 1.37 Änderungen, die bestehende Cluster nach dem Upgrade stören können:",[26,92,93,107,117,123,129],{},[29,94,95,98,99,102,103,106],{},[32,96,97],{},"Statische Pods dürfen keine Secrets oder ConfigMaps mehr referenzieren."," Ein Fehler erlaubte das bisher über Felder wie ",[37,100,101],{},"secretRef"," oder ",[37,104,105],{},"configMapRef",". Das Feature-Gate, mit dem man die Einschränkung umgehen konnte, wurde entfernt. Betroffene statische Pods starten nach dem Upgrade nicht mehr.",[29,108,109,112,113,116],{},[32,110,111],{},"SELinux:"," Pods mit unterschiedlichen SELinux-Labels, die auf demselben Node ein Volume teilen, können nun beim Start scheitern. Abhilfe schafft ",[37,114,115],{},"spec.securityContext.seLinuxChangePolicy: Recursive"," am Pod. Cluster ohne SELinux sind nicht betroffen.",[29,118,119,122],{},[32,120,121],{},"kube-proxy im IPVS-Modus ist veraltet."," Betroffene Cluster loggen eine Warnung. Bis Version 1.40 soll IPVS standardmäßig deaktiviert, bis 1.43 ganz entfernt werden.",[29,124,125,128],{},[32,126,127],{},"kube-dns ist veraltet."," Nach 1.40 sollen keine neuen Pakete mehr erscheinen. CoreDNS ist seit Langem der Standard.",[29,130,131,134,135,138],{},[32,132,133],{},"cgroup v1:"," Schon seit 1.35 verweigert der Kubelet standardmäßig den Start auf Nodes mit cgroup v1. In 1.37 gibt es noch die Übergangsoption ",[37,136,137],{},"failCgroupV1: false",", das Projekt plant die Entfernung der cgroup-v1-Unterstützung aber für ein künftiges Release.",[11,140,141],{},"Wer AKS nutzt, ist bei Control Plane, DNS und Node-Images meist schon auf der sicheren Seite. Eigene Anpassungen, selbst betriebene Cluster und Edge-Installationen sind dagegen genau zu prüfen. Außerdem nennt Microsoft AKS-spezifische Änderungen für 1.37: LocalDNS wird bei unterstützten Netzwerkkonfigurationen automatisch aktiviert, und Managed Prometheus greift nur noch namespace-bezogen auf Secrets für PodMonitor und ServiceMonitor zu.",[15,143,145],{"id":144},"was-sie-jetzt-tun-sollten","Was Sie jetzt tun sollten",[26,147,148],{},[29,149,150,153,154,157],{},[32,151,152],{},"cgroup-Version der Nodes prüfen:"," Die Ausgabe ",[37,155,156],{},"cgroup2fs"," bedeutet cgroup v2.",[159,160,165],"pre",{"className":161,"code":162,"language":163,"meta":164,"style":164},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","stat -fc %T \u002Fsys\u002Ffs\u002Fcgroup\u002F\n","bash","",[37,166,167],{"__ignoreMap":164},[168,169,172,176,180,183],"span",{"class":170,"line":171},"line",1,[168,173,175],{"class":174},"s2Zo4","stat",[168,177,179],{"class":178},"sfazB"," -fc",[168,181,182],{"class":178}," %T",[168,184,185],{"class":178}," \u002Fsys\u002Ffs\u002Fcgroup\u002F\n",[26,187,188],{},[29,189,190],{},[32,191,192],{},"kube-proxy-Modus ermitteln:",[159,194,196],{"className":161,"code":195,"language":163,"meta":164,"style":164},"kubectl -n kube-system get configmap kube-proxy -o jsonpath='{.data.config\\.conf}' | grep 'mode:'\n",[37,197,198],{"__ignoreMap":164},[168,199,200,204,207,210,213,216,219,222,225,229,232,234,237,240,243,246],{"class":170,"line":171},[168,201,203],{"class":202},"sBMFI","kubectl",[168,205,206],{"class":178}," -n",[168,208,209],{"class":178}," kube-system",[168,211,212],{"class":178}," get",[168,214,215],{"class":178}," configmap",[168,217,218],{"class":178}," kube-proxy",[168,220,221],{"class":178}," -o",[168,223,224],{"class":178}," jsonpath=",[168,226,228],{"class":227},"sMK4o","'",[168,230,231],{"class":178},"{.data.config\\.conf}",[168,233,228],{"class":227},[168,235,236],{"class":227}," |",[168,238,239],{"class":202}," grep",[168,241,242],{"class":227}," '",[168,244,245],{"class":178},"mode:",[168,247,248],{"class":227},"'\n",[26,250,251],{},[29,252,253,256],{},[32,254,255],{},"kube-dns aufspüren"," und gegebenenfalls auf CoreDNS migrieren:",[159,258,260],{"className":161,"code":259,"language":163,"meta":164,"style":164},"kubectl -n kube-system get deployment kube-dns\n",[37,261,262],{"__ignoreMap":164},[168,263,264,266,268,270,272,275],{"class":170,"line":171},[168,265,203],{"class":202},[168,267,206],{"class":178},[168,269,209],{"class":178},[168,271,212],{"class":178},[168,273,274],{"class":178}," deployment",[168,276,277],{"class":178}," kube-dns\n",[26,279,280,290,296],{},[29,281,282,285,286,289],{},[32,283,284],{},"Statische Pods kontrollieren:"," Durchsuchen Sie auf allen Nodes das Manifest-Verzeichnis, typischerweise ",[37,287,288],{},"\u002Fetc\u002Fkubernetes\u002Fmanifests",", nach Verweisen auf Secrets und ConfigMaps.",[29,291,292,295],{},[32,293,294],{},"SELinux-Workloads testen:"," Wenn Sie SELinux nutzen, prüfen Sie Pods mit gemeinsam genutzten Volumes in einer Testumgebung mit 1.37.",[29,297,298,301],{},[32,299,300],{},"AKS-Besonderheiten klären:"," Prüfen Sie LocalDNS, die Secret-Konfiguration von Managed Prometheus und, falls genutzt, die KMS-Verschlüsselung mit Key-Vault-Schlüsseln ohne Versionsangabe. Verfügbare Versionen zeigt:",[159,303,305],{"className":161,"code":304,"language":163,"meta":164,"style":164},"az aks get-versions --location germanywestcentral -o table\n",[37,306,307],{"__ignoreMap":164},[168,308,309,312,315,318,321,324,326],{"class":170,"line":171},[168,310,311],{"class":202},"az",[168,313,314],{"class":178}," aks",[168,316,317],{"class":178}," get-versions",[168,319,320],{"class":178}," --location",[168,322,323],{"class":178}," germanywestcentral",[168,325,221],{"class":178},[168,327,328],{"class":178}," table\n",[26,330,331],{},[29,332,333,336],{},[32,334,335],{},"Upgrade in Staging durchspielen:"," Testen Sie mit einem Preview-Cluster, bevor Sie Produktion aktualisieren, und halten Sie die üblichen Upgrade-Schritte über Minor-Versionen ein.",[15,338,340],{"id":339},"fazit","Fazit",[11,342,343,344,349],{},"Kubernetes 1.37 ist ein solides Release mit nützlichen Neuerungen wie Scale-to-Zero und stabiler Metrics API. Die eigentlichen Risiken liegen in Altlasten: cgroup v1, IPVS, kube-dns und kreativ genutzte statische Pods. Wer diese Punkte jetzt prüft, kann das AKS-Upgrade nach der allgemeinen Verfügbarkeit ohne Überraschungen einplanen. Wenn Sie dabei Unterstützung wünschen, ",[345,346,348],"a",{"href":347},"\u002Fkontakt","sprechen Sie uns an",".",[15,351,353],{"id":352},"quellen","Quellen",[26,355,356,364,371],{},[29,357,358],{},[345,359,363],{"href":360,"rel":361},"https:\u002F\u002Fkubernetes.io\u002Fblog\u002F2026\u002F08\u002F26\u002Fkubernetes-v1-37-release\u002F",[362],"nofollow","Kubernetes v1.37: Garhwal – Kubernetes Blog",[29,365,366],{},[345,367,370],{"href":368,"rel":369},"https:\u002F\u002Fwww.kubermatic.com\u002Fblog\u002Fkubernetes-v1-37-garhwal\u002F",[362],"Kubernetes v1.37 Garhwal – Kubermatic",[29,372,373],{},[345,374,377],{"href":375,"rel":376},"https:\u002F\u002Fgithub.com\u002FAzure\u002FAKS\u002Freleases\u002Ftag\u002F2026-09-04",[362],"Release Notes 2026-09-04 – Azure AKS auf GitHub",[379,380,381],"style",{},"html pre.shiki code .s2Zo4, html code.shiki .s2Zo4{--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}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);}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}",{"title":164,"searchDepth":383,"depth":383,"links":384},2,[385,386,387,388,389],{"id":17,"depth":383,"text":18},{"id":86,"depth":383,"text":87},{"id":144,"depth":383,"text":145},{"id":339,"depth":383,"text":340},{"id":352,"depth":383,"text":353},"\u002Fimages\u002Fnews\u002Fkubernetes-1-37-garhwal-upgrade.webp","2026-09-30","Kubernetes 1.37 bringt 67 Neuerungen und einige Stolpersteine. Unsere Checkliste zu cgroup v2, IPVS, kube-dns und SELinux, bevor AKS 1.37 GA wird.","md",null,{},true,"\u002Fnews\u002Fkubernetes-1-37-garhwal-upgrade",{"title":5,"description":392},false,"news\u002Fkubernetes-1-37-garhwal-upgrade","L1gKAVpDcXRL6-ADOPSD8YafUy7MJ_n1Y_pbjy-zaIw",1793714089319]