릴리즈
CNCF graduated·incubating 프로젝트 릴리즈 노트의 AI 분석.
프로젝트: OpenKruise해제 ×
OpenKruise v1.9.0은 워크로드 기능을 여럿 추가하고, ImagePullJob CPU 급등·SidecarSet 패닉 등 프로덕션에서 실제로 문제가 됐던 버그들을 다수 수정했습니다.
breakingmaxUnavailable/maxSurge 문자열 값, 이제 webhook에서 거부됨
maxUnavailable: '5'처럼 정수를 따옴표로 감싼 문자열 형식은 이제 admission webhook에서 거부됩니다. CloneSet 스펙이나 Helm 차트에서 이런 방식으로 값을 지정하고 있다면 업그레이드 후 배포가 막힙니다. v1.9.0 업그레이드 전에 관련 매니페스트를 미리 점검하세요.
enhancementImagePullJob CPU 스파이크 수정 — 대규모 클러스터라면 업그레이드 우선 검토
reconcile이 연쇄적으로 증폭되면서 controller-manager CPU가 급등하는 버그가 있었습니다. 원인 불명의 CPU 압박을 겪고 있었다면 이 버그일 가능성이 높습니다. v1.9.0으로 올리면 별도 설정 변경 없이 해결됩니다.
enhancementCloneSet progressDeadlineSeconds·OnDelete 전략 활용 검토
CloneSet에 progressDeadlineSeconds가 추가되어 롤아웃이 멈췄을 때 자동으로 감지할 수 있습니다. 지금까지는 외부 모니터링 없이는 stuck 상태를 잡기 어려웠는데 이 필드로 해결됩니다. OnDelete 전략은 수동 업그레이드 제어가 필요한 팀에 유용합니다. CloneSet으로 카나리·단계적 배포를 운영 중이라면 두 옵션 모두 검토해 볼 만합니다.
주요 변경 (5)
- ImagePullJob: 연쇄 reconcile 증폭으로 인한 CPU 스파이크 수정, 노드별 동시성 제어 추가 — 대규모 이미지 풀 환경에서 특히 중요
- SidecarSet: Pod 삭제 시 패닉 및 null pointer 접근 버그 수정, 컨테이너 순서 주입·shareVolumeDevicePolicy 지원 추가
- CloneSet: progressDeadlineSeconds·OnDelete 업데이트 전략 추가, CloneSetEventHandlerOptimization 활성 시 라이프사이클 훅 누락 버그 수정
- UnitedDeployment: ReserveUnschedulablePods 기능 추가 — 스케줄 불가 Pod를 교체하지 않고 유지
- PodUnavailableBudget이 Pod RESIZE 액션을 보호 — in-place 수직 스케일링 사용 시 유용