Kubernetes v1.35: Timbernetes (The World Tree Release) 릴리즈 소식
릴리즈 정보
•
릴리즈 일자: 2025년 12월 17일
•
릴리즈 주기: 정규(Minor) 릴리즈
•
지원 기간: 2027년 2월 28일까지 (약 14개월)
•
호환성: v1.33 ~ v1.37 호환
•
다음 릴리즈: v1.36 (예정: 2026년 4월)
한눈에 보기
핵심 메시지: kubernetes v1.35는 AI/ML, HPC(고성능 컴퓨팅), 상태 저장(Stateful) 워크로드 등 시스템의 '뿌리'를 강화하고 제로 트러스트 보안 기반을 완성한 릴리즈입니다.
Pod 리소스 무중단 변경(In-place Resize) 이 GA로 승격되었으며, cgroup v1 지원 중단(Beta) 과 IPVS 모드 Deprecation 을 통해 미래 지향적인 아키텍처로 전환을 가속화합니다.
이번 릴리즈는 총 60개의 KEP(Stable: 17, Beta: 19, Alpha: 22)를 포함하고 있습니다.
주요 변화 요약•
In-place Update of Pod Resources (GA): Pod 재시작 없는 리소스 실시간 조정.
•
Support for User Namespaces (Stable): 컨테이너 보안을 위한 UID/GID 매핑 공식 지원.
•
Improved Pod Stability (Beta): Kubelet 재시작 시 Pod 안정성 강화.
•
Node Declared Features (Alpha): 스케줄링 전 노드 특성 선언으로 AI/ML 배치 최적화.
즉시 확인 필요사항
Breaking Changes & API 변경
업그레이드 전 필수 확인사항:
변경사항 | 영향 범위 | 대응 방법 | 긴급도 |
cgroup v1 지원 중단 | Node/Kubelet | failCgroupV1=true가 기본값이 됨. 구형 OS(CentOS 7 등) 사용 시 노드 시작 실패. cgroup v2로 마이그레이션 필수. | High |
SPDY → WebSockets 전환 | CLI/API Server | kubectl exec, attach 등의 스트리밍 방식이 변경됨. 중간 프록시/L7 장비의 WebSocket 허용 여부 확인 필요. | High |
IPVS 모드 Deprecated | Network (kube-proxy) | IPVS 모드가 공식적으로 deprecated됨. 향후 nftables 모드로의 전환 준비 필요. | Medium |
v1alpha1 API 제거 | Storage | VolumeAttributesClass 리소스가 v1alpha1에서 제거됨. | Medium |
주요 추가 기능 & 개선사항
플랫폼 & 인프라 및 보안
In-Place Update of Pod Resources (Stable)
요약: Pod나 컨테이너를 재시작하지 않고도 실행 중인 Pod의 resources.requests 및 limits를 수정할 수 있습니다.
왜 중요한가요?•
비즈니스 연속성: 게임 서버나 대규모 Java 애플리케이션 등 기동 시간이 긴 워크로드를 중단 없이 확장할 수 있습니다.
•
비용 최적화: VPA(Vertical Pod Autoscaler)와 연계하여 리소스 낭비를 실시간으로 줄일 수 있습니다.
•
성능 가변성: 배치가 실행 중일 때 일시적으로 자원을 늘려 처리 속도를 높이는 작업이 가능합니다.
주의 사항: 컨테이너 런타임(CRI)과 Kubelet이 리사이징을 지원해야 하며, 리소스 하향 조정 시 애플리케이션 OOM 발생 위험을 고려해야 합니다.
주의 사항: 컨테이너 런타임(CRI)과 Kubelet이 리사이징을 지원해야 하며, 리소스 하향 조정 시 애플리케이션 OOM 발생 위험을 고려해야 합니다.
어떻게 사용하나요?# 실행 중인 Pod의 리소스를 직접 수정 (Patch)
# Kubelet이 재시작 없이 커널의 cgroup 설정을 즉시 업데이트함
apiVersion: v1
kind: Pod
metadata:
name: dynamic-app
spec:
containers:
- name: main
image: my-app:latest
resources:
requests:
cpu: "1"
memory: "2Gi"
YAML
복사
혹은 아래와 같이 사용할 수 있습니다.
# kubectl patch를 사용하여 실행 중인 Pod의 CPU/Memory를 즉시 변경
kubectl patch pod my-app --patch '{"spec":{"containers":[{"name":"main","resources":{"requests":{"cpu":"2"},"limits":{"cpu":"4"}}}]}}'
Bash
복사
타겟 유저: 플랫폼 엔지니어, DevOpsPod Certificates (Beta) • KEP-4317
요약: Kubelet이 직접 키를 생성하고 API 서버를 통해 인증서를 발급받아 Pod 파일시스템에 마운트해주는 기능입니다.
왜 중요한가요?•
보안 가치: cert-manager와 같은 외부 의존성 없이 mTLS 환경을 구성할 수 있습니다.
•
자동 갱신: Kubelet이 인증서 만료 전 자동으로 로테이션을 수행하여 운영 부담을 제거합니다.
•
위험 완화: 노드 제한(Node Restriction) 정책이 강화되어 공격자가 다른 노드의 ID를 탈취하는 것을 방지합니다.
타겟 유저: 보안 엔지니어, 클러스터 관리자Support for User Namespaces in Pods (Stable) • KEP-127
요약: 컨테이너 내부의 root(UID 0)를 호스트의 일반 사용자 ID로 매핑하여 보안 격리를 강화합니다.
왜 중요한가요?•
보안: 컨테이너가 침해당해 '탈옥'하더라도 호스트 시스템에서는 권한이 없는 일반 사용자로 취급되어 시스템 전체 피해를 막습니다.
•
주의 사항: 볼륨 마운트 시 ID 매핑 호환성 문제가 발생할 수 있으며, 일부 구형 파일 시스템에서는 동작이 제한됩니다.
타겟 유저: 보안 엔지니어, 클러스터 관리자Node declared features before scheduling (Alpha) • KEP-5328
요약: 노드가 Ready 상태가 되기 전, 자신이 보유한 특수 하드웨어(GPU, FPGA, 특정 CPU 명령어 등)를 스케줄러에 선언합니다.
왜 중요한가요?•
정밀한 배치: 스케줄러가 노드 기능을 미리 알고 Pod를 배치하여, 잘못된 배치로 인한 에러를 방지합니다.
•
주의 사항: Alpha 기능으로 Feature Gate 활성화가 필요하며, 선언된 기능 데이터의 일관성 관리가 중요합니다.
성능 & 확장성
AI/ML을 위한 Gang Scheduling (Alpha) • KEP-4671
요약: AI/ML 학습과 같은 분산 워크로드를 위해 '전부 아니면 전무(All-or-Nothing)' 스케줄링이 도입되었습니다.
왜 중요한가요?•
최소 요구 자원(minCount)이 확보되지 않으면 어떤 Pod도 배치하지 않아 자원 교착 상태(Deadlock)를 방지합니다.
애플리케이션 개발 및 운영
kubectl kuberc 도입 (Alpha) • KEP-3104
요약: 사용자별 개인 설정(Alias, Flag 등)을 kubeconfig와 분리하여 관리할 수 있는 설정 파일이 도입되었습니다.
왜 중요한가요?•
클러스터 접속 정보와 개인의 CLI 사용 선호 설정을 분리하여 관리 생산성을 높입니다.
어떻게 사용하나요?•
~/.kube/kuberc 파일에 자주 사용하는 설정을 정의합니다.
# ~/.kube/kuberc 예시
aliases:
gp: get pods
dd: describe deployment
defaults:
output: wide
YAML
복사
VolumeSource: OCI artifact and/or image (Alpha) • KEP-4639
요약: 별도의 컨테이너 기동 없이 OCI 이미지(또는 Artifact) 자체를 볼륨으로 직접 마운트하여 데이터를 사용합니다.
왜 중요한가요?•
데이터 배포: AI 모델, 설정 파일 등을 이미지 형태로 배포하고 initContainer 없이 즉시 읽기 전용 볼륨으로 사용 가능.
•
주의 사항: 기본적으로 Read-Only로 마운트되며, 프라이빗 레지스트리 인증 설정이 선행되어야 합니다.
어떻게 사용하나요?volumes:
- name: model-volume
image:
reference: my-registry.com/llama-3-model:v1.0
YAML
복사
Fine-grained Container restart rules (Beta) • KEP-5307
요약: Pod 내의 개별 컨테이너마다 서로 다른 재시작 정책을 적용할 수 있습니다.•
사이드카 제어: 메인 작업 종료 후에도 계속 살아있는 사이드카 컨테이너 문제를 해결합니다.
왜 중요한가요?•
메인 컨테이너 종료 후에도 살아있는 사이드카 문제를 해결하거나, 특정 보조 컨테이너만 무한 재시작되도록 설정할 수 있습니다.
•
주의 사항: 컨테이너 간의 실행 순서 및 의존성 설계를 정교하게 해야 합니다.Improved Pod stability during kubelet restarts (Beta) • KEP-4781
요약: Kubelet이 업데이트나 장애로 재시작될 때, 실행 중인 Pod의 상태를 더 안정적으로 유지하고 불필요한 컨테이너 종료를 방지합니다.
왜 중요한가요?•
운영 안정성: 노드 관리 작업 중 발생할 수 있는 일시적인 서비스 단절을 최소화합니다.
•
주의 사항: Graceful Shutdown 설정과 연계하여 테스트해야 하며, 비정상 종료 상황에서의 복구 시나리오 확인이 필요합니다.Reliable Pod update tracking with .metadata.generation (Stable) • KEP-5067
요약: Pod 리소스에 .metadata.generation 필드를 도입하여, Pod Spec의 변경 사항을 버전별로 추적할 수 있습니다.
왜 중요한가요?•
신뢰성: 컨트롤러나 GitOps 도구가 Pod가 최신 설정으로 업데이트되었는지 확실히 판단 가능.
•
주의 사항: 해당 필드는 읽기 전용이며 시스템에 의해 자동 증가합니다.
운영 관점에서의 변화
Deprecations & Community Updates
•
Ingress NGINX Retirement: kubernetes/ingress-nginx 프로젝트가 커뮤니티 유지보수 모드로 전환되었습니다. 이는 쿠버네티스 공식 조직이 Gateway API로 리소스를 집중하기 위함이며, 사용자는 Gateway API 기반의 컨트롤러(Envoy, Istio 등)로의 전환을 고려해야 합니다.
•
Legacy Cloud Provider Removal: 인트리(In-tree) 클라우드 프로바이더 코드가 대거 제거되었습니다. 외부 클라우드 컨트롤러 매니저(CCM) 사용이 필수입니다.
모니터링 & 관찰가능성
•
Kubelet 이미지 매니저 메트릭: kubelet_image_manager_ensure_image_requests_total 추가로 이미지 풀링 성공/실패 여부를 더 정교하게 트래킹 가능.
•
리소스 리사이징 이벤트: In-place 업데이트 시 Pod 이벤트에 상세 변경 이력이 남도록 개선되었습니다.
리소스 관리
•
PreferSameNode 서비스 트래픽 (Stable): 트래픽을 최대한 동일 노드 내의 Pod로 유도하여 네트워크 지연시간을 줄이고 통신 비용을 절감합니다. (KEP-3015)
알려진 주요 이슈
현재 알려진 문제
이슈 | 영향도 | 임시 해결책 | 수정 예정 |
WebSocket 프록시 호환성 | High | 일부 구형 L7 프록시에서 exec 끊김 현상 발생 | 프록시 설정에서 WebSocket 업그레이드 활성화 |
Memory Limit 하향 시 OOM | Medium | 실행 중 메모리 한도를 현재 사용량보다 낮게 잡을 경우 OOM 발생 가능 | 하향 조정 전 현재 사용량 모니터링 필수 |
OCI Volume 인증 오류 | Medium | imagePullSecrets를 명시적으로 볼륨 섹션에 확인 | v1.35.x 패치 |
추가 학습 자료
핵심 KEP:
공식 문서
•
•
•
이번 릴리즈 주요 KEP 문서
Stable (GA) : 즉시 프로덕션 적용 권장
•
•
•
•
•
Beta : 기본 활성화, 운영 환경 테스트 권장
•
•
•
•
•
Alpha : 실험적 도입, 기능 게이트 활성화 필요
•
•
•
•
맺음말
맺음말Kubernetes v1.35 'Timbernetes' 릴리즈는 클러스터의 '뿌리'에 해당하는 핵심 성능을 강화하고, 현대적인 워크로드 요구사항에 맞춘 보안 체계를 완성하는 이정표가 될 것입니다. 이번 업데이트를 통해 기대할 수 있는 핵심적인 효과는 다음과 같습니다.
•
서비스 연속성과 리소스 관리의 혁신: In-place Update of Pod Resources(GA)의 도입으로 이제 긴 기동 시간이 필요한 애플리케이션도 중단 없이 리소스를 조정할 수 있게 되었습니다. 이는 VPA와의 시너지를 통해 클러스터 자원 활용 효율을 극대화하고 운영 비용을 절감하는 강력한 도구가 될 것입니다.
•
제로 트러스트 보안의 네이티브 구현: User Namespaces(Stable)와 Pod Certificates(Beta)는 외부 솔루션에 의존하지 않고도 강력한 격리와 인증 체계를 구축할 수 있게 해줍니다. 특히 Kubelet 주도의 인증서 자동 관리는 보안 운영의 복잡성을 획기적으로 낮추는 실질적인 개선입니다.
•
AI/ML 및 차세대 아키텍처로의 전환: Gang Scheduling과 Node Declared Features는 고성능 컴퓨팅 워크로드의 배치 정확도를 높여주며, cgroup v1 지원 중단과 IPVS의 Deprecation은 쿠버네티스가 더 빠르고 가벼운 미래형 아키텍처로 나아가기 위한 결단력 있는 진보를 보여줍니다.
이번 릴리즈가 제공하는 다양한 개선 사항들이 여러분의 인프라를 더욱 자동화되고 안정적으로 만드는 데 기여할 수 있기를 바랍니다.
이현승 프로
클라우드와 오픈소스 SW 관련 연구 개발 프로젝트들을 진행해왔고, 지금은 OSS 기술서비스와 아키텍처를 담당하고 있어요 



High
Medium