오픈소스 인사이트
home
오픈소스 기술 동향
home
🚀

Kubernetes v1.34: Of Wind & Will (O' WaW) 릴리즈 소식

7 more properties

릴리즈 정보

릴리즈 버전: v1.34.0
릴리즈 일자: 2025년 8월 27일
지원 기간: 2025년 8월 ~ 2026년 10월 (14개월)
다음 릴리즈: v1.35 (2025년 12월)

한눈에 보기

핵심 메시지: 이번 Kubernetes v1.34 릴리즈는 외부 환경의 변화와 내부의 도전 속에서도, 커뮤니티의 강력한 의지와 협력을 통해 쿠버네티스를 꾸준히 발전시켜 나가는 모습을 상징합니다.
이번 릴리즈의 주요 변화 중 Dynamic Resource Allocation(DRA)의 핵심 기능이 Stable로 전환되었으며, kubelet 이미지 자격증명 공급자를 위한 ServiceAccount 토큰 프로젝션이 도입되어 보안이 강화되었습니다.
총 58개의 개선사항 중 23개가 안정화(Stable) 단계에 진입하여 클러스터의 신뢰성과 운영 효율성을 한층 더 높였습니다.
가장 주목할 변화
Dynamic Resource Allocation (DRA) 코어 안정화 (Stable): GPU, TPU 등 특수 하드웨어를 동적으로 프로비저닝하고 관리하는 표준 방법이 공식 기능으로 자리 잡았습니다.
단기(short-lived) SA 토큰 기반의 이미지 풀링 (Beta): 노드 레벨의 장기(long-lived) 시크릿 대신 Pod의 ID를 기반으로 하는 단기 토큰을 사용해 컨테이너 레지스트리에서 이미지를 안전하게 가져올 수 있습니다.
KYAML 지원 (Alpha): Kubernetes에 최적화된 새로운 YAML 표현법인 KYAML을 kubectl의 출력 형식으로 사용하여 YAML의 모호성을 줄이고 가독성을 높입니다.
이번 릴리즈 통계
새로운 기능 및 개선사항: 58개 (Alpha: 13개, Beta: 22개, Stable: 23개)
주요 제거 및 변경사항: 3개

즉시 확인 필요사항

Breaking Changes & API 변경

업그레이드 전 필수 확인사항:
변경사항
영향 범위
대응 방법
긴급도
cgroupDriver 수동 설정 Deprecated
노드 (kubelet)
kubelet 설정에서 cgroupDriver를 제거하고 CRI 런타임이 자동으로 드라이버를 감지하도록 전환해야 합니다.
High
PreferClose 트래픽 분배 정책 Deprecated
서비스 (Service)
spec.trafficDistribution 필드의 PreferClose 값을 의미가 더 명확한 PreferSameZone으로 변경합니다.
Medium
containerd 1.x 지원 중단 예정
노드 (컨테이너 런타임)
v1.36부터 containerd 1.x 버전 지원이 중단될 예정이므로, containerd 2.0+로 업그레이드를 계획해야 합니다.
High

주요 일정

containerd 1.x 지원 종료: v1.36 (2026년 상반기 예상)
cgroupDriver 설정 제거 예정: v1.36 이후 릴리즈

주요 추가 기능 & 개선사항

플랫폼 & 인프라

Dynamic Resource Allocation (DRA) (Stable) KEP-4381

요약: GPU, FPGA 등과 같은 특수 장치 리소스를 동적으로 할당하고 관리하기 위한 프레임워크가 안정화되었습니다.
왜 중요한가요?
유연한 리소스 관리: 스토리지의 동적 프로비저닝과 유사하게, 복잡한 하드웨어 리소스를 온디맨드로 요청하고 사용할 수 있습니다.
표준화된 접근: 각기 다른 벤더의 장치 드라이버들이 일관된 방식으로 Kubernetes와 통합될 수 있는 표준 API를 제공합니다.
효율성 증대: 필요한 만큼만 리소스를 할당하여 하드웨어 자원의 낭비를 줄입니다.
어떻게 사용하나요?
# Pod에서 특정 GPU 장치를 요청하는 예제 apiVersion: v1 kind: Pod metadata: name: dra-pod-example spec: resourceClaims: - name: gpu-claim source: resourceClaimTemplateName: gpu-claim-template containers: - name: my-container image: my-gpu-app resources: requests: # 이 컨테이너가 사용하는 리소스 클레임을 명시 resource.k8s.io/gpu: "1"
YAML
복사
타겟 유저: 플랫폼 엔지니어, ML/AI 엔지니어
상세 가이드Dynamic Resource Allocation 공식 문서 |  KEPKEP-4381

노드 스왑(Swap) 메모리 지원 (Stable) KEP-2400

요약: 노드에서 스왑 메모리 사용을 공식적으로 지원하여 메모리 압박 상황에서의 안정성을 높입니다.
왜 중요한가요?
워크로드 안정성 향상: 메모리 사용량이 많은 워크로드가 OOM(Out of Memory)으로 종료되는 대신 스왑 공간을 활용하여 더 안정적으로 실행될 수 있습니다.
리소스 효율성 증대: 자주 사용하지 않는 메모리 페이지를 디스크로 이동시켜 물리 메모리를 더 효율적으로 사용할 수 있습니다.
다양한 애플리케이션 지원: 메모리 사용 패턴이 불규칙적인 애플리케이션(예: 대규모 Java 애플리케이션)의 실행 환경을 개선합니다.
타겟 유저: 클러스터 관리자, 플랫폼 엔지니어

보안 & 거버넌스

kubelet 이미지 풀링을 위한 단기 ServiceAccount 토큰 (Beta) KEP-4412

요약kubelet이 프라이빗 레지스트리에서 이미지를 가져올 때, Pod의 ServiceAccount를 기반으로 한 단기 토큰을 동적으로 요청하여 사용합니다.
왜 중요한가요?
보안 강화: 노드에 저장되던 장기 자격증명(secret)을 제거하여 자격증명 유출 위험을 크게 줄입니다.
관리 오버헤드 감소: 워크로드별로 자격증명을 관리할 필요 없이 Pod의 ID를 기반으로 인증하므로 관리가 단순해집니다.
최소 권한 원칙: 이미지 풀링 권한이 노드가 아닌 특정 Pod에만 부여되어 최소 권한 원칙을 실현합니다.
타겟 유저: 보안 엔지니어, 클러스터 관리자

뮤테이팅 어드미션 정책 (MutatingAdmissionPolicies) (Beta) KEP-3962

요약: CEL(Common Expression Language)을 사용하여 들어오는 API 객체를 변경하는 규칙을 선언적으로 정의할 수 있습니다.
왜 중요한가요?
운영 간소화: 별도의 뮤테이팅 웹훅(Webhook) 서버를 운영할 필요 없이 API 서버 내에서 직접 객체 변형 로직을 처리할 수 있습니다.
성능 및 안정성: 인프로세스(in-process) 방식으로 동작하여 외부 웹훅 호출로 인한 네트워크 지연이나 장애 발생 가능성이 없습니다.
유지보수 용이성: YAML로 정책을 직접 정의하므로 코드를 작성하고 배포하는 것보다 관리가 훨씬 쉽습니다.
타겟 유저: 클러스터 관리자, 정책 관리자

성능 & 확장성

스트리밍 list 응답 (Stable) KEP-5116

요약: 대규모 리소스 목록(list) 요청 시, 전체 결과를 메모리에 버퍼링하지 않고 스트리밍 방식으로 클라이언트에 전송합니다.
왜 중요한가요?
메모리 사용량 최적화: API 서버가 대규모 응답을 처리할 때 발생하는 메모리 급증을 방지하여 컨트롤 플레인의 안정성을 크게 향상시킵니다.
대규모 클러스터 확장성 개선: 수천 개의 Pod나 CRD를 조회하는 시나리오에서도 API 서버의 성능 저하 없이 안정적인 서비스가 가능합니다.

개발자 경험

KYAML 지원 (Alpha) KEP-5295

요약kubectl의 출력 옵션으로 Kubernetes에 최적화된 YAML 형식인 KYAML을 지원합니다.
왜 중요한가요?
모호성 제거: "노르웨이 버그"와 같이 따옴표 없는 문자열이 의도치 않게 boolean이나 숫자로 해석되는 문제를 방지합니다.
가독성 및 편의성 개선: JSON과 달리 주석을 지원하고, YAML보다 들여쓰기 규칙이 덜 민감하여 사용자가 더 쉽게 작성하고 읽을 수 있습니다.
어떻게 사용하나요?
# KYAML 지원 활성화 (환경 변수 설정) export KUBECTL_KYAML=true # kubectl get 명령어에 -o kyaml 옵션 사용 kubectl get pods -o kyaml
Bash
복사
타겟 유저: 개발자, DevOps 엔지니어 등

운영 관점에서의 변화

모니터링 & 관찰가능성

DRA 리소스 상태 보고kubelet이 DRA를 통해 할당된 리소스 정보를 보고하여 노드 모니터링 에이전트가 이를 수집할 수 있습니다. (Beta, KEP-3695)
DRA 리소스 상태 확인: Pod의 status 필드를 통해 할당된 장치의 상태(health)를 노출하여 문제 해결을 용이하게 합니다. (Alpha, KEP-4680)

리소스 관리

Pod 레벨 리소스 요청/제한: 컨테이너별이 아닌 Pod 전체에 대한 리소스 요청 및 제한을 설정할 수 있어 멀티 컨테이너 Pod 관리가 단순해집니다. (Beta, KEP-2837)
Job Pod 교체 정책: Job의 Pod가 완전히 종료된 후에만 교체 Pod를 생성하는 Failed 정책을 지원하여 리소스 경합을 줄입니다. (Stable, KEP-3939)

고가용성 & 재해복구

Windows 노드 정상 종료 처리: Windows 노드에서도 시스템 종료 이벤트를 감지하여 Pod를 정상적으로 종료시킴으로써 데이터 유실을 방지하고 워크로드 안정성을 높입니다. (Beta, KEP-4802)
복원력 있는 Watch Cache 초기화kube-apiserver 시작 시 Watch Cache 초기화 과정의 안정성을 높여 컨트롤 플레인의 견고성을 강화합니다. (Stable, KEP-4568)

추가 학습 자료

공식 문서

이번 릴리즈 주요 KEP 문서

Stable로 승격된 기능들:
KEP-4381: DRA: Structured Parameters - 동적 리소스 할당의 핵심 API 안정화
KEP-3939: Job Pod Replacement Policy - Job의 Pod가 완전히 종료된 후 교체 Pod 생성 지원
KEP-2400: Node Swap Support - 노드 레벨 스왑 메모리 지원
KEP-5116: Streaming LIST responses - API 서버의 list 요청에 대한 스트리밍 응답
Beta로 승격된 기능들:
KEP-4412: Kubelet Image Credential Provider for projected ServiceAccount tokens - 단기 토큰 기반 이미지 풀링
KEP-2837: Pod-level Resource Requests and Limits - Pod 단위 리소스 요청 및 제한 설정
KEP-3962: Mutating Admission Policies - CEL 기반의 선언적 뮤테이팅 어드미션 정책
KEP-3104kuberc file for kubectl user preferences - kubectl 사용자 설정을 위한 .kuberc 파일 지원
새롭게 도입된 Alpha 기능들:
KEP-4317: Pod certificates for mTLS authentication - Pod의 mTLS 인증을 위한 내장 인증서 발급 메커니즘
KEP-5295: Support for KYAML - Kubernetes에 최적화된 YAML 방언, KYAML 지원
KEP-5307: Container Restart Rules - 컨테이너별 재시작 정책 및 종료 코드 기반 규칙 정의

맺음말

Kubernetes v1.34 릴리즈는 클러스터의 안정성과 보안, 효율성을 한 단계 끌어올리는 중요한 업데이트입니다. 이번 릴리즈를 통해 기대할 수 있는 핵심적인 효과는 다음과 같습니다.
안정성과 리소스 관리의 고도화: Dynamic Resource Allocation(DRA)과 노드 스왑(Swap) 지원이 안정화되면서, GPU와 같은 특수 하드웨어의 관리 유연성이 극대화되고 메모리 집약적인 워크로드의 안정성이 크게 향상될 것입니다.
강력한 보안과 간소화된 운영: 단기 SA 토큰 기반의 이미지 풀링과 내장 뮤테이팅 정책은 자격증명 유출 위험을 줄이고, 외부 웹훅 없이도 클러스터 정책을 효율적으로 관리할 수 있는 길을 열어줍니다.
개발 경험과 성능 향상: 새롭게 도입된 KYAML 지원과 스트리밍 API 응답은 개발자가 YAML 설정의 모호함에서 벗어나 대규모 클러스터에서도 더 빠르고 안정적으로 리소스를 다룰 수 있도록 돕는 실질적인 개선입니다.
이번 릴리즈가 제공하는 다양한 개선 사항들이 여러분의 인프라를 더욱 자동화되고 안정적으로 만드는 데 기여할 수 있기를 바랍니다.
이현승 프로
클라우드와 오픈소스 SW 관련 연구 개발 프로젝트들을 진행해왔고, 지금은 OSS 기술서비스와 아키텍처를 담당하고 있어요