Dapr
v1.17.7Orchestration & ManagementDapr v1.17.7은 워크플로우 안정성, 메시징 정확성, 컨트롤 플레인 복원력을 겨냥한 집중적인 버그 수정 릴리스입니다. 워크플로우, Kafka, RabbitMQ를 운영 중이라면 즉시 업그레이드를 권장합니다.
breaking스케줄러 etcd 컴팩션 모드 변경 — PVC 용량 점검 필수
내장 etcd의 컴팩션 방식이 주기(10분) 기반에서 리비전(100만) 기반으로 바뀌고, 기본 스토리지 크기가 1Gi에서 16Gi로 늘어납니다. Kubernetes StatefulSet의 volumeClaimTemplates는 불변이라 기존 1Gi PVC는 자동으로 조정되지 않습니다. 워크플로우를 실제로 운영 중이라면 업그레이드 전에 현재 PVC 사용률을 확인하고, 용량이 부족하다면 클러스터에서 직접 PVC를 먼저 확장해야 합니다. Helm 차트는 기존 PVC 크기를 덮어쓰지 않도록 lookup 헬퍼를 사용하지만, 자동 확장은 하지 않습니다.
security1.18에서 다운그레이드했거나 Ed25519/RSA 키를 사용 중이라면 Sentry를 즉시 업그레이드하세요
dapr/kit의 타입 스위치 버그로 인해 Ed25519 및 RSA 발급자 키가 있을 때 Sentry가 'unsupported key type'으로 시작에 실패하고 크래시 루프에 빠집니다. Sentry가 크래시 루프 상태이면 mTLS 인증서 발급과 갱신이 모두 중단됩니다. 만료되지 않은 인증서를 가진 사이드카는 계속 동작하지만, 파드 재시작이나 인증서 만료 시 조용히 인증이 실패합니다. 트러스트 번들을 마이그레이션할 필요 없이 1.17.7로 업그레이드하는 것만으로 해결됩니다.
enhancement업그레이드 전 워크플로우 페이로드 크기 비율 대시보드를 미리 구성하세요
새로 추가된 dapr_runtime_workflow_payload_size_ratio와 dapr_runtime_workflow_activity_payload_size_ratio 메트릭은 페이로드 크기를 --max-body-size 대비 비율로 표현합니다. 업그레이드 후 histogram_quantile(0.99, ...) > 0.9 조건으로 Prometheus 알림을 설정해두면, 워크플로우가 0.95 임계치에 걸려 Stall 상태가 되기 전에 미리 감지할 수 있습니다. 페이로드가 크거나 히스토리가 긴 워크플로우를 운영 중이라면 특히 유용합니다. --max-body-size가 명시적으로 설정된 경우에만 메트릭이 기록된다는 점도 참고하세요.
주요 변경 (7)
- 워크플로우 상태 저장에 낙관적 동시성(ETag) 도입 — Placement 리밸런싱 중 히스토리 무결성 보장
- Ed25519/RSA 발급자 키 사용 시 Sentry 크래시 루프 수정 — 1.18에서 다운그레이드했거나 키를 교체한 환경에서 치명적
- Kafka 정상 종료 시 인플라이트 메시지를 드레인한 후 컨슈머 세션을 닫아 중복 처리 제거
- RabbitMQ 구독 재시작 시 동일 연결의 형제 구독이 함께 종료되던 연쇄 장애 수정
- 스케줄러 내장 etcd 기본값을 워크플로우 부하 패턴에 맞게 재조정 — 컴팩션 방식이 주기 기반에서 리비전 기반으로 변경, 신규 설치 기본 스토리지 16Gi로 증가
- WatchHosts 스트림 재연결 중 스케줄러가 일시적으로 불가용할 때 daprd가 스스로 종료되던 문제 수정
- 워크플로우 페이로드 크기 비율 메트릭 2개 추가 — Stall 발생 전 사전 용량 계획 가능