Kubernetes v1.38 — co wiadomo przed wydaniem w grudniu 2026

Kubernetes v1.38 — co wiadomo przed wydaniem w grudniu 2026
Photo by Growtika / Unsplash

Cykl v1.38 wystartował 31 sierpnia. Alpha.2 wyszło 7 października z Go 1.27.1. Wydanie finalne zaplanowano na 16 grudnia 2026 — przed samymi świętami, zgodnie z tradycją.

Harmonogram

Kamień milowyData
Enhancements freeze29 września 2026
Code freeze18 listopada 2026
Wydanie finalne16 grudnia 2026
Patch releases (październik)20 października 2026

Październikowe patch releases dla aktywnych gałęzi zostały przesunięte o kilka dni — czekają na CVE fixy z nowych wydań Go.

Co trafia do v1.38

kuberc do stable

kuberc — konfiguracja kubectl per użytkownik bez zmiennych środowiskowych — awansuje do Stable. Pozwala trzymać aliasy, domyślne namespace'y i preferencje flag w pliku ~/.kube/kuberc.yaml zamiast zaśmiecać .bashrc lub .zshrc. Prosta zmiana, ale doceniana przez każdego, kto zarządza kilkoma klastrami jednocześnie.

WebSocket bez SPDY — Beta

KEP-4006 posuwa się dalej: metryki streamingowe dla exec/attach/port-forward przez WebSocket awansowały z Alpha do Beta. Jednocześnie dodano testy E2E, które wymuszają działanie tych operacji bez fallbacku na SPDY. To ważny krok — SPDY jest de facto martwy (usuniął go niedawno OpenSSH 10.6), a Kubernetes przez lata trzymał go jako fallback dla exec/attach.

Kontekst: podatność nodes/proxy GET→RCE wynikała z tego, że warstwa obsługująca upgrade do WebSocket (lub SPDY) przypisywała żądaniu verb get zamiast exec — RBAC sprawdzał verb, ale zły. Ktoś z uprawnieniem nodes/proxy GET mógł wykonywać polecenia w kontenerach, bo kontrola dostępu nigdy nie widziała właściwego verb-u. Usunięcie SPDY i ujednolicenie ścieżki upgrade na natywny WebSocket to porządkowanie tego obszaru.

DRA Optional Node Operations — Beta

KEP-5945 (skipNodeOperations) wchodzi na Beta z domyślnie włączoną 'feature gate'. Drivery DRA będą mogły deklarować, że nie potrzebują wywołań gRPC NodePrepareResources/NodeUnprepareResources na kubelecie. Szczegóły w osobnym artykule.

WindowsCPUAndMemoryAffinity — Beta

CPU i memory affinity dla kontenerów Windows na węzłach z procesorem Intel. Istotne dla workloadów HPC i gaming na Windows node pools.

KubeProxyNFTablesLocalhostNodePorts — Beta

NodePorts dostępne przez localhost na węzłach z kube-proxy w trybie nftables. Dopełnienie migracji z iptables.

Mniejsze zmiany warte uwagi

kustomize bez .so pluginów — kubectl kustomize nie będzie już ładować wtyczek jako shared libraries. Exec pluginy i KRM function pluginy działają dalej. Zmiana głównie dla tych, którzy pisali pluginy kustomize w C/Go jako .so.

Deployment controller retry — poprawka w rolling update: jeśli skalowanie w dół starego ReplicaSet nie powiedzie się, kontroler teraz ponawia próbę zamiast utknąć. Brzmi jak drobnostka, ale w praktyce zapobiegało to zakleszczeniom przy czasowych błędach API.

API server zwraca 400 zamiast 500 dla GET z nieprawidłową rewizją. Lepsza diagnostyka przy problemach z cache.

Limit request headers podniesiony do 16384 — z 1000. Trafiała na to część użytkowników z dużą liczbą grup LDAP w tokenach OIDC.

Warunkowa autoryzacja w kube-apiserver — nowy mechanizm dla zaawansowanych przypadków kontroli dostępu.

percentageOfPlacementsToScore w schedulerze — nowy parametr konfiguracyjny schedulera, który pozwala ograniczyć procent węzłów branych pod uwagę przy rozmieszczeniu podów. Optymalizacja dla dużych klastrów.

kubemark usunięty z repo

Narzędzie do symulacji dużych klastrów na potrzeby testów wydajnościowych zostało wyjęte z głównego repozytorium Kubernetes. Nie zniknie całkowicie — trafi do osobnego projektu — ale sygnalizuje porządkowanie monorepo.

WG LTS rozwiązana

Working Group Long-Term Support formalnie zamknięta. Kubernetes oficjalnie nie planuje wydań z dłuższym oknem wsparcia. Model pozostaje: trzy aktywne gałęzie, aktualizacja co cztery miesiące, wsparcie przez rok.

Źródła: Last Week in Kubernetes Dev — Oct 11, Kubernetes v1.38 Release Cycle Sneak Peek