오픈소스 인사이트
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의 서브리소스 지원이 안정화되어 모든 관련 명령어에서 사용 가능
💡 왜 중요한가요?
•
get, patch, edit, apply, replace 명령어에서 -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-3712: nodeAffinityPolicy와 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 Containers, nftables 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 기술서비스와 아키텍처를 담당하고 있어요 😀