본문 바로가기
K8S

Kubernetes v1.35 변화 정리

by Rainbound-IT 2026. 1. 15.
반응형

 

December 17, 2025 에 kubernetes v1.35 이 출시 되었습니다.

 

개인적으로 기대했던 In-Place Pod Resize 이 GA로 되어서

이전에 pod 실행, 재실행시 부팅 스파이크로 인한 request 조절을 못했는데 할수있게 되었습니다!  

이에 대한 자세한내용은 
https://rainbound.tistory.com/1357 에서 확인하세요!

 

이 버전은 “무엇을 더 제공할 것인가”보다 “무엇을 끝내고, 어떤 방향으로 정렬할 것인가” 입니다.

핵심 키워드는 다음 네 가지다.

  • 재시작 없는 리소스 변경
  • 런타임 구조 정리
  • 리소스 제어의 예측 가능성
  • 리눅스 네이티브 네트워크 스택으로의 수렴

1. v1.35에서 새로 추가·안정화된 기능

1️⃣ In-Place Pod Resize (GA)

기능 요약

  • 실행 중인 Pod의 CPU / Memory request·limit을 재시작 없이 변경
  • v1.35에서 GA 승격
resources:
requests:
cpu:"500m"→"1"
memory:"512Mi"→"1Gi"

GitOps 관점

  • Git 변경
  • ArgoCD / Flux Sync
  • Pod UID 유지
  • ReplicaSet 변경 없음
  • 컨테이너 프로세스 지속 실행

yaml 변경 = rollout이라는 Kubernetes의 오랜 전제가 처음으로 깨짐


2️⃣ Structured Authentication Configuration (GA)

  • API Server 인증 설정을 구조화된 파일 기반으로 관리
  • 다중 OIDC 설정을 명확히 분리 가능
  • 인증 설정의 가독성·유지보수성 개선

3️⃣ Job managedBy 필드 (GA)

  • Job을 외부 컨트롤러가 관리하도록 명시 가능
  • Kubernetes 기본 Job 컨트롤러와 책임 분리
  • 배치·워크플로우 시스템과의 통합 강화

4️⃣ PreferSameNode Service Traffic (GA)

  • Service 트래픽을 같은 노드의 엔드포인트 우선으로 라우팅
  • 네트워크 홉 감소
  • 로컬 캐시·사이드카 패턴에 유리

5️⃣ Beta / Alpha 주요 기능

Beta

  • Pod Certificates (Pod 단위 인증서 자동 발급)
  • StatefulSet maxUnavailable
  • Storage Version Migration 안정화

Alpha

  • Gang Scheduling (AI / ML 분산 워크로드용)
  • Node Declared Features

2. v1.35에서 삭제되거나 종료되는 기능

v1.35의 가장 중요한 특징은 과감한 정리다.


1️⃣ cgroups v1 완전 제거 ❌

항목  상태
cgroups v1 지원 종료
cgroups v2 필수

의미

  • 리소스 제어는 이제 단일 계층 모델만 허용
  • OOM, CPU throttling, QoS 예측 가능성 상승
  • In-Place Pod Resize의 기술적 기반

v1.35는 “cgroups v2 전제 Kubernetes”의 시작점


2️⃣ containerd v1.x 지원 종료 ❌

항목  상태
containerd 1.x 마지막 지원
containerd 2.0 권장 / 사실상 필수

의미

  • CRI와 런타임의 분리
  • 모듈형 아키텍처
  • 장기 유지보수 목적

3️⃣ kube-proxy IPVS 모드 제거 ❌

항목  상태
iptables 유지
IPVS 제거
nftables 권장

배경

  • IPVS는 성능은 좋지만 관리 복잡
  • iptables + IPVS 이중 구조 문제
  • Linux 커널 네트워크 표준은 nftables

Kubernetes는 “특수 고성능”보다 표준·단순성을 선택


4️⃣ 레거시 / 비표준 API 정리

  • 오래된 Beta API 제거
  • Deprecated 필드 삭제
  • 저장 버전 정합성 강화

업그레이드 시 CRD / Custom Controller 검증 필수


3. 구조 변화의 핵심 축

1. containerd v2.0 – 런타임 구조의 재정의

v1.x의 한계

containerd v1.x는 Kubernetes CRI와 강하게 결합된 구조였다.

  • CRI 변경 → 런타임 전체 영향
  • Kubernetes 중심 설계
  • 장기 유지보수에 불리

v2.0의 핵심 변화


 

구분 v1.x v2.0
구조 단일 데몬 모듈형 (core + plugins)
CRI 내장 CRI 분리 (plugin)
확장성 제한적 플러그인 단위 확장

핵심은 단순하다.

“컨테이너 런타임”과
“쿠버네티스용 인터페이스(CRI)”를 분리


Kubernetes가 v2.0을 요구하는 이유

  • 런타임 안정성 향상
  • Kubernetes 외 워크로드 재사용
  • 장기 지원 구조

Kubernetes v1.35부터는 containerd 2.0 이상이 사실상 기준이 된다.


2. cgroups v2 – 리소스 제어의 일관성

v1의 구조적 문제

cgroups v1은 컨트롤러마다 서로 다른 트리를 사용했다.

  • CPU / Memory / IO 제어 모델 불일치
  • Pod QoS 예측 어려움
  • OOM, Throttling이 불안정

cgroups v2의 변화

 

항목 v1 v2
트리 구조 분리 단일 통합 트리
CPU cpu.shares cpu.weight
Memory memory.limit memory.high / max
계층 전파 불명확 명확

리소스 제어가 부모 → 자식 구조로 정확히 전파된다.


In-Place Pod Resize와의 관계

In-Place Pod Resize가 가능한 이유는:

  • kubelet이
  • cgroups v2를 통해
  • 실행 중인 프로세스의 리소스 한계를 즉시 변경 가능해졌기 때문

즉,

In-Place Pod Resize의 기반은 cgroups v2


3. kube-proxy: IPVS → nftables

IPVS의 특징

장점 단점
L4 성능 우수 커널 모듈 의존
대규모 Service 처리 관리 복잡
별도 테이블 iptables와 이중 관리

nftables의 특징

특징 의미
Netfilter 표준 iptables 후속
단일 rule set 관리 단순
커널 방향성 장기 지원

Kubernetes는 “특수한 고성능”보다
“표준 + 유지보수성”을 선택
했다.

 


4. 이 모든 변화가 의미하는 것

v1.35는 기능 추가보다 운영 패러다임을 바꾼 버전이다.

cgroups v2
   ↓
In-Place PodResize
   ↓
GitOps 무재시작 리소스 조정

containerd v2.0
   ↓
CRI 분리
   ↓
런타임 안정성

IPVS 제거
   ↓
nftables 표준화
   ↓
네트워크 운영 단순화


최종 요약

  • 추가
    • In-Place Pod Resize (GA)
    • 구조화된 인증 설정
    • Job 외부 관리
    • 서비스 트래픽 최적화
  • 삭제
    • cgroups v1
    • containerd v1.x
    • kube-proxy IPVS
  • 결과
    • 재시작 없는 운영
    • 예측 가능한 리소스 제어
    • 표준 중심 Kubernetes
반응형

댓글