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

Kubernetes v1.33: Octarine 릴리즈 소식

7 more properties

릴리즈 정보

릴리즈 버전: v1.33.0
릴리즈 일자: 2025년 4월 23일
지원 기간: 2025년 4월 23일 ~ 2026년 6월 (예정)
다음 릴리즈: v1.34 (예정: 2025년 8월)

한눈에 보기

핵심 메시지: Kubernetes v1.33은 컨테이너 오케스트레이션 플랫폼의 성숙도를 보여주는 릴리즈로, Sidecar Containers의 안정화, 무중단 리소스 조정, 네트워크 성능 혁신을 통해 엔터프라이즈 환경에서의 운영 효율성과 확장성을 대폭 개선했습니다.
특히 64개의 향상된 기능 중 18개가 Production-ready 상태로 승격되어 안정적인
프로덕션 워크로드 운영을 위한 기반을 강화했습니다.
가장 주목할 변화
Sidecar Containers (Stable): 애플리케이션과 독립적인 보조 컨테이너 관리 기능이 안정화되어 로깅, 메트릭, 네트워킹 분야의 패턴 구현이 용이해짐
In-place Pod Resource Resize (Beta): 파드 재시작 없이 CPU/메모리 리소스를 동적으로 조정 가능하여 다운타임 제로 스케일링 지원
kubectl .kuberc 설정 (Alpha): 클러스터 정보와 분리된 사용자 선호 설정 파일로 kubectl 개인화 기능 제공
이번 릴리즈 통계
새로운 기능: 64개 (Stable: 18개, Beta: 20개, Alpha: 24개)
개선사항: 포괄적인 성능 및 사용성 개선
보안 수정: ServiceAccount 토큰 보안 강화 등 다수 포함
기여 현황: 121개 회사, 570명 개인 기여자 참여

즉시 확인 필요사항

Breaking Changes & API 변경

업그레이드 전 필수 확인 사항:
변경사항
영향 범위
대응 방법
관련 KEP
긴급도
Endpoints API 공식 deprecation
Service 관련 워크로드
EndpointSlices API로 마이그레이션
Medium
.status.nodeInfo.kubeProxyVersion 제거
노드 상태 모니터링
대체 모니터링 방법 구현
-
High
gitRepo volume in-tree 드라이버 제거 (feature gate로 3버전간 opt-in 가능)
gitRepo 사용하는 Pod
git-sync 또는 initContainer 사용, 임시로 GitRepoVolumeDriver=true 설정 가능
High
Windows Pod 호스트 네트워킹 지원 제거
Windows 환경
HostProcess 컨테이너로 대체
Medium

주요 일정

v1.31 지원 종료: 2025년 10월 예정
Endpoints API 완전 제거 예정: v1.39 (2027년경)
gitRepo 기능 게이트 제거 예정: v1.39 (2027년경)

주요 추가 기능 & 개선사항

플랫폼 & 인프라

Sidecar Containers (Stable) • KEP-753

요약: 애플리케이션 컨테이너와 독립적으로 실행되는 보조 컨테이너를 위한 특별한 클래스 제공
왜 중요한가요?
로깅, 메트릭 수집, 네트워킹 등 부가 기능을 메인 애플리케이션과 분리하여 관리 가능
restartPolicy: Always를 가진 특별한 init 컨테이너로 구현되어 안정적인 라이프사이클 보장
Probe(startup, readiness, liveness) 지원으로 운영 상태 모니터링 가능
OOM score 조정으로 메모리 압박 상황에서 조기 종료 방지
어떻게 사용하나요?
apiVersion: v1 kind: Pod metadata: name: app-with-sidecar spec: initContainers: - name: sidecar image: logging-sidecar:latest restartPolicy: Always # Sidecar 설정 containers: - name: app image: my-app:latest
YAML
복사
타겟 유저: 플랫폼 엔지니어, 애플리케이션 개발자
상세 가이드Sidecar Containers 문서

Multiple Service CIDRs (Stable) • KEP-3070

요약: 클러스터 전체에서 Service IP 주소 할당을 위한 새로운 로직과 API 객체 제공
왜 중요한가요?
ServiceCIDR과 IPAddress API 객체를 통한 동적 IP 주소 풀 확장 가능
대규모 클러스터에서 Service IP 부족 문제 해결
더 유연한 네트워크 구성 및 관리 지원
타겟 유저: 클러스터 관리자, 네트워크 엔지니어

In-place Pod Resource Resize (Beta) • KEP-1287

요약: 파드 재시작 없이 CPU와 메모리 리소스를 동적으로 조정하는 기능
왜 중요한가요?
Stateful 프로세스의 다운타임 없는 수직 스케일링 가능
트래픽 패턴에 따른 동적 리소스 조정으로 비용 효율성 증대
초기 구동 시 큰 리소스 할당 후 안정화 단계에서 축소 가능
어떻게 사용하나요?
# 기존 Pod의 리소스 업데이트 kubectl patch pod my-pod --patch '{"spec":{"containers":[{"name":"app","resources":{"requests":{"cpu":"200m","memory":"256Mi"}}}]}}'
YAML
복사
타겟 유저: 플랫폼 엔지니어, DevOps 엔지니어

보안 & 거버넌스

Bound ServiceAccount Token Improvements (Stable) • KEP-2799

요약: ServiceAccount 토큰에 JWT ID (JTI)와 노드 정보 포함으로 보안성 강화
왜 중요한가요?
고유 토큰 식별자를 통한 정밀한 검증 및 감사 가능
노드별 제한으로 토큰 오남용 방지 및 보안 위협 감소
토큰이 지정된 노드에서만 사용되도록 보장
타겟 유저: 보안 엔지니어, 클러스터 관리자

ClusterTrustBundles (Beta) • KEP-2984

요약: X.509 trust anchor(root certificate) 저장을 위한 클러스터 스코프 리소스
왜 중요한가요?
클러스터 내 certificate signer가 trust anchor를 쉽게 배포 가능
X.509 trust anchor를 클러스터 워크로드와 효과적으로 통신
인증서 관리의 중앙화 및 표준화
타겟 유저: 보안 엔지니어, 플랫폼 엔지니어

성능 & 확장성

nftables Backend for kube-proxy (Stable) • KEP-3866

요약: kube-proxy를 위한 새로운 nftables 백엔드로 성능 및 확장성 대폭 향상
왜 중요한가요?
Service 구현에서 현저한 성능 및 확장성 개선
기존 iptables 대비 효율적인 네트워크 규칙 관리
대규모 클러스터에서 네트워크 성능 최적화
어떻게 사용하나요?
# nftables 모드로 kube-proxy 시작 kube-proxy --proxy-mode=nftables
Bash
복사
타겟 유저: 네트워크 엔지니어, 플랫폼 엔지니어
상세 가이드Migration Guide

Topology Aware Routing with trafficDistribution: PreferClose (Stable) • KEP-2433

요약: 네트워크 토폴로지를 고려한 지능적인 트래픽 라우팅
왜 중요한가요?
같은 존(zone) 내 엔드포인트로 트래픽 우선 라우팅으로 지연 시간 감소
존 간 데이터 전송 비용 절약
멀티 존 클러스터에서 성능 및 비용 효율성 최적화
어떻게 사용하나요?
apiVersion: v1 kind: Service metadata: name: my-service spec: trafficDistribution: PreferClose # 다른 Service 설정
YAML
복사
타겟 유저: 네트워크 엔지니어, 클러스터 관리자

개발자 경험

kubectl .kuberc User Preferences (Alpha) • KEP-859

요약: kubectl 명령어 별칭과 기본 설정을 위한 사용자 환경 설정 파일
왜 중요한가요?
클러스터 정보와 분리된 사용자 개인 설정 관리
kubectl 별칭 및 기본 옵션(예: server-side apply) 설정 가능
여러 클러스터에서 동일한 사용자 환경 제공
어떻게 사용하나요?
# Alpha 기능 활성화 export KUBECTL_KUBERC=true # ~/.kube/kuberc 파일 생성 echo 'aliases: k: kubectl kgp: kubectl get pods overrides: apply: server-side: true' > ~/.kube/kuberc # 사용 kubectl --kuberc /var/kube/rc get pods
Bash
복사
타겟 유저: 개발자, DevOps 엔지니어

kubectl Subresource Support (Stable) • KEP-4020

요약: kubectl의 서브리소스 지원이 안정화되어 모든 관련 명령어에서 사용 가능
왜 중요한가요?
getpatcheditapplyreplace 명령어에서 -subresource 플래그 지원
서브리소스 직접 접근으로 더 정교한 리소스 관리 가능
API 사용성 대폭 개선
어떻게 사용하나요?
# Pod의 status 서브리소스만 조회 kubectl get pod my-pod --subresource=status # Scale 서브리소스 수정 kubectl patch deployment my-app --subresource=scale --patch '{"spec":{"replicas":5}}'
Bash
복사
타겟 유저: 개발자, 시스템 관리자

운영 관점에서의 변화

스케줄링 & 오토스케일링

Asynchronous Preemption (Beta) • KEP-3838: 스케줄러의 비동기 선점 처리로 고우선순위 파드 스케줄링 성능 향상
Pod Topology Spread 개선 (Stable) • KEP-3712nodeAffinityPolicy와 nodeTaintsPolicy 필드로 토폴로지 분산 정밀 제어
HPA Configurable Tolerance (Alpha) • KEP-853: 작은 메트릭 변화에 대한 스케일링 반응 조절 가능

리소스 관리

CPU Manager 개선: NUMA 노드 간 CPU 분산 정책 옵션 및 SMT 정렬 워크로드 거부 옵션
Split L3 Cache 인식: CPU Manager가 L3 캐시 아키텍처를 고려한 CPU 할당으로 성능 최적화
Volume Populators (Stable) • KEP-1495: 다양한 데이터 소스로부터 볼륨 사전 채우기 지원

고가용성 & 보안

User Namespaces (Beta) • KEP-127: Linux Pod에서 사용자 네임스페이스 지원으로 컨테이너 격리 강화
Supplemental Groups Policy (Beta) • KEP-3619: 세밀한 그룹 멤버십 제어로 보안 정책 우회 방지
PersistentVolume Reclaim Policy: PV 회수 정책의 일관된 적용으로 스토리지 리소스 누수 방지

알려진 주요 이슈

현재 알려진 문제

이슈
영향도
임시 해결책
수정 예정
관련 KEP
Endpoints API deprecation 경고
Medium
EndpointSlices 사용
완전 제거는 v1.39
gitRepo 볼륨 미지원
High
git-sync 또는 initContainer 사용
기능 게이트 제거는 v1.39

커뮤니티 피드백

릴리즈 팀 구조 개선: Docs와 Release Notes 팀을 통합하여 더 효율적인 문서화 프로세스 구현
기여자 참여: 전체 CNCF 생태계에서 435개 회사, 2,400명 기여자 참여로 활발한 커뮤니티 유지

추가 학습 자료

심화 가이드

신기능 완전 정복Sidecar Containersnftables Migration Guide
마이그레이션 시리즈Endpoints to EndpointSlices

공식 문서

릴리즈 노트v1.33 Release Notes
릴리즈 블로그Kubernetes v1.33: Octarine

이번 릴리즈 주요 KEP 문서

Stable로 승격된 기능들:
KEP-753: Sidecar Containers - 애플리케이션과 독립적인 보조 컨테이너 관리
KEP-3070: Multiple Service CIDRs - 동적 Service IP 주소 풀 확장
KEP-3866: nftables Backend for kube-proxy - 고성능 네트워크 프록시
KEP-2433: Topology Aware Routing - 지능적인 트래픽 라우팅
KEP-4020: kubectl Subresource Support - 서브리소스 직접 관리
KEP-1495: Volume Populators - 볼륨 사전 채우기
Beta로 승격된 기능들:
KEP-1287: In-place Pod Resource Resize - 무중단 리소스 조정
KEP-2984: ClusterTrustBundles - X.509 trust anchor 관리
KEP-127: User Namespaces - 컨테이너 격리 강화
KEP-3619: Supplemental Groups Policy - 세밀한 그룹 제어
새롭게 도입된 Alpha 기능들:
KEP-859: kubectl .kuberc User Preferences - kubectl 개인화
KEP-853: HPA Configurable Tolerance - 스케일링 반응 조절

맺음말

v1.33 릴리즈는 쿠버네티스 생태계에 중요한 변화를 가져올 것입니다. 이번 업데이트를 통해 가장 기대하는 효과는 다음과 같습니다.
1.
운영 효율성의 극대화: Sidecar 안정화와 무중단 리소스 변경으로 복잡한 워크로드 관리가 단순해지고, 장애 대응 능력이 향상될 것입니다.
2.
비용과 성능의 최적화: 지능적인 트래픽 라우팅과 고성능 네트워크 백엔드는 인프라 비용을 절감하고 사용자 경험을 개선하는 선순환 구조를 만들 것입니다.
3.
개발 경험의 향상: kubectl의 개선 사항들은 개발자와 운영자가 쿠버네티스를 더 직관적이고 편리하게 사용하도록 돕는 작지만 강력한 변화입니다.
이번 릴리즈를 통해 여러분의 클러스터가 더 견고하고 스마트하게 운영되기를 기대합니다.
이현승 프로
클라우드와 오픈소스 SW 관련 연구 개발 프로젝트들을 진행해왔고, 지금은 OSS 기술서비스와 아키텍처를 담당하고 있어요