광고
개요
Veeam Kasten 9.0.6은 2026-09-21 공개된 유지보수 릴리스입니다. Kubernetes 1.35 지원과 VM 백업용 Changed Block Tracking 기술 미리보기가 추가됐고, 취소된 백업·내보내기가 오래 실행되는 문제와 중단된 블록 모드 복구 재시도 문제 등이 수정됐습니다.
운영 관점에서 가장 중요한 주의사항은 Kubernetes 1.35 이상에서 사설 컨테이너 레지스트리를 사용하는 환경입니다. 애플리케이션 Namespace에서 실행되는 Kasten Worker Pod가 레지스트리 자격 증명을 얻지 못하면 ImagePullBackOff로 백업·복구가 실패할 수 있으므로 업그레이드 전에 Namespace별 Secret과 ServiceAccount 연결 상태를 점검해야 합니다.
9.0.6 자체가 알려진 인증 우회나 RCE 긴급 패치는 아닙니다. 다만 Kubernetes 1.35 전환과 사설 레지스트리 조합에서는 백업·복구 실패로 이어질 수 있어 High 중요도로 분류했습니다.
대상 버전과 지원 범위
대상 버전: Veeam Kasten 9.0.6
공식 공개일: 2026-09-21
새 지원 범위: Kubernetes 1.35
지원 종료: Kubernetes 1.31 지원 제거
설치 방식: Helm, Veeam Kasten Operator, 지원되는 클라우드 Marketplace
업그레이드 범위: 공식 문서 기준 한 번에 최대 네 버전
카탈로그 요구사항: 업그레이드 전 최소 50% 여유 공간
9.0.6의 주요 변경점
기능과 운영 개선
Kubernetes 스토리지 종류와 독립적으로 VM 백업의 Changed Block Tracking을 지원하는 Technical Preview가 추가됐습니다.
Kubernetes API Client의 기본 QPS/Burst 상한이 20/50에서 50/100으로 증가했고,
kubeClient.qps와kubeClient.burstHelm 값으로 설정할 수 있습니다.
대규모 Repository의 유지보수 성능을 개선하도록 기본 구성이 변경됐습니다.
기존 RestorePoint와 RestorePointContent의 만료 시간을 설정·변경·제거할 수 있습니다.
복구·내보내기 관련 수정
취소한 Backup 또는 Export Action이 장시간 계속 실행되던 문제가 수정됐습니다.
중단된 Block-mode Restore를 재시도할 때 남은 Staging Volume과 충돌하거나 잘못 재사용돼 실패하던 문제가 수정됐습니다.
Shared Repository Server 사용 시 K10 Disaster Recovery 정책의 Export와 DR Snapshot 정리가
Failed to fetch user passphrase, value not found in secret.로 실패하던 문제가 수정됐습니다.
Object Version 수가 많은 Point-in-time Repository Location에서 Restore가 무기한 정지할 수 있던 문제가 수정됐습니다.
SUSE Virtualization과 비표준 Namespace에 설치된 KubeVirt의 버전 탐지가 실패해 Partial VM Restore 같은 기능이 조용히 비활성화되던 문제가 수정됐습니다.
보안 변경
일부 Block-mode Datamover Upload Pod 실행의 로깅 보안이 개선됐습니다.
Kasten Container Image의 Base Image가 최신 보안 업데이트를 포함하도록 갱신됐습니다.
업그레이드 전 점검
현재 버전에서 9.0.6까지의 차이가 네 버전 이내인지 확인합니다. 더 오래된 버전은
--version을 이용한 단계적 업그레이드를 계획합니다.
Settings → System Information → Upgrade Status에서 Catalog 여유 공간이 50% 이상인지 확인합니다.
Helm 설치 환경은 현재 값을 파일로 보존합니다.
Kubernetes 1.35와 사설 레지스트리를 함께 사용하는지 확인합니다.
Generic Storage Backup을 사용한다면 Kanister Sidecar Image 갱신 필요 여부를 확인합니다.
Operator 설치 환경은 Subscription의 Automatic/Manual 승인 전략과 지원되는 OpenShift 범위를 확인합니다.
그림 1. Kasten 9.0.6 업그레이드 판단 흐름 — 직접 작성한 기술 구성도. 현재 버전, Catalog 여유 공간, 기존 Helm 값 보존, Kubernetes 1.35 사설 레지스트리 조건을 순서대로 확인합니다. 출처: Release Notes, Upgrade Guide, KB4929
Helm 설치 환경 업그레이드
1. 릴리스명 확인
광고
기본 Namespace와 릴리스명을 사용하지 않았다면 먼저 실제 값을 확인합니다.
helm list --namespace=kasten-io2. 저장소 갱신과 기존 설정 보존
아래는 글의 대상 버전인 9.0.6으로 고정한 예시입니다. 기존 릴리스명·Namespace와 지원 업그레이드 경로를 확인한 뒤 사용합니다. 버전 옵션이 없으면 실행 시점의 최신 차트가 선택될 수 있습니다. Kasten Upgrade Guide
helm repo update && \
helm get values k10 --output yaml --namespace=kasten-io > k10_val.yaml && \
helm upgrade k10 kasten/k10 --namespace=kasten-io --version 9.0.6 -f k10_val.yaml릴리스명이나 Namespace가 다르면 실제 환경 값으로 변경합니다.
네 버전을 초과하는 경로는
helm upgrade --version으로 단계별 목표 버전을 지정합니다.
정상 환경에서 Prometheus Deployment 등을 선제적으로 삭제하지 않습니다. 공식 문서에 기재된 기존 리소스 충돌 오류가 실제로 발생한 경우에만 해당 Workaround를 검토합니다.
Kubernetes 1.35 사설 레지스트리 Known Issue
증상과 영향
사설 Registry를 사용하는 Kubernetes 1.35 이상 클러스터에서 애플리케이션 Namespace에 생성되는 Worker Pod가 ImagePullBackOff 상태가 될 수 있습니다. Kanister Blueprint 기반 백업·복구, 실행 Hook, 실행 중인 Workload에 연결되지 않은 Volume 백업, Generic Storage Backup이 영향을 받을 수 있으며 Kanister는 시도마다 약 15분 후 Timeout될 수 있습니다.
원인
Kubernetes 1.35에서 KubeletEnsureSecretPulledImages Feature Gate가 기본 활성화됩니다. 캐시된 Image도 자격 증명을 다시 확인하지만, 기본 Image Pull Secret인 k10-ecr은 kasten-io Namespace에만 있고 애플리케이션 Namespace의 Worker Pod는 이를 자동으로 참조하지 않습니다.
그림 2. Namespace별 Registry 인증 구조 — 직접 작성한 기술 구성도. Secret을 대상 Namespace에 복사하는 것만으로는 충분하지 않습니다. 해당 Namespace의 default ServiceAccount가 imagePullSecrets로 Secret을 참조해야 합니다. 출처: Veeam KB4929
공식 Workaround
아래 명령은 Veeam KB4929에 명시된 절차입니다. APP_NAMESPACE와 Secret 이름은 실제 환경에 맞게 확인합니다.
export APP_NAMESPACE=<application-namespace>
export SECRET_NAME=k10-ecrkubectl get secret ${SECRET_NAME} --namespace=kasten-io --output=json \
| jq '{apiVersion, kind, metadata: {name: .metadata.name}, type, data}' \
| kubectl apply --namespace=${APP_NAMESPACE} --filename=-kubectl patch serviceaccount default \
--namespace=${APP_NAMESPACE} \
--patch="{\"imagePullSecrets\":[{\"name\":\"${SECRET_NAME}\"}]}"보호 대상 애플리케이션 Namespace마다 반복한 뒤, ImagePullBackOff에 머문 Kanister Pod를 삭제하면 Kasten이 갱신된 자격 증명으로 다시 생성합니다.
공식 KB의
kubectl patch예시는 기존imagePullSecrets필드를 병합하지 않고 교체합니다. 이미 다른 Secret이 등록돼 있다면 기존 항목까지 포함한 Patch 값을 작성해야 합니다.
새 Namespace로 Restore할 경우에는 Restore 실행 전에 Namespace를 만들고 동일한 Secret·ServiceAccount 구성을 적용해야 합니다. Public Registry 환경은 이 Known Issue의 영향을 받지 않습니다.
Deprecation과 Breaking Change
Kubernetes 1.31 지원이 제거됐습니다. OpenShift 4.18은 계속 지원됩니다.
다음 Helm 값은 Deprecated 상태이며 향후 제거됩니다. 기존 값은 아직 동작하고 새 값보다 우선합니다.
Deprecated | Replacement |
|
|
|
|
|
|
|
|
업그레이드 후 검증
Dashboard와
kasten-ioNamespace의 핵심 Pod가 정상인지 확인합니다.
표시 버전이 9.0.6인지 확인합니다.
기존 Policy, Profile, RestorePoint와 보존 설정이 유지됐는지 확인합니다.
소규모 테스트 대상에 Backup, Export, Restore를 순서대로 실행합니다.
KDR을 사용한다면 DR Policy의 Export와 Snapshot Retire가 정상 완료되는지 확인합니다.
ImagePullBackOff, 장시간 Running 상태 Action, Staging Volume 충돌이 없는지 확인합니다.
Kubernetes 1.35 사설 Registry 환경은 애플리케이션 Namespace의
defaultServiceAccount와 Worker Pod Event를 확인합니다.
롤백과 장애 대응
공식 Upgrade Guide는 9.0.6에서 이전 버전으로 되돌리는 일반적인 In-place Rollback 명령을 제공하지 않습니다. 따라서 업그레이드 전에 기존 Helm 값, Catalog 여유 공간, Kasten Disaster Recovery 구성과 지원 로그 확보 방안을 준비해야 합니다. 실패 시 임의로 Catalog나 핵심 리소스를 삭제하지 말고 Veeam Support 절차를 따릅니다.
결론
Kasten 9.0.6은 Kubernetes 1.35 지원과 여러 백업·복구 안정성 수정을 포함하므로 운영 가치가 높은 유지보수 릴리스입니다. 다만 Kubernetes 1.35와 사설 Registry 조합에서는 자격 증명 구조를 먼저 보완하지 않으면 Worker Pod 생성 단계에서 백업·복구가 중단될 수 있습니다. 업그레이드 전에 Catalog 50% 여유, 버전 간격, Helm 값 보존, Namespace별 Pull Secret 연결을 확인한 뒤 테스트 Backup·Restore까지 완료하는 것이 안전합니다.
공식 참고자료
광고

![[kasten] export 스토리지 추가방법](https://valuenlog.com/uploads/2026/10/7f23f26b-2f9c-488d-b918-46b0994b1051.webp)


