K8s 구조화 병합 및 비교

Jmnote (토론 | 기여)님의 2025년 9월 7일 (일) 19:43 판 (새 문서: ==개요== ;structured-merge-diff (SMD) ;구조화 병합 비교 * 쿠버네티스 Server-Side Apply(SSA)에서 사용하는 핵심 라이브러리 및 접근 방식 * YAML/JSON...)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요

structured-merge-diff (SMD)
구조화 병합 비교
  • 쿠버네티스 Server-Side Apply(SSA)에서 사용하는 핵심 라이브러리 및 접근 방식
  • YAML/JSON 같은 계층적 데이터 구조를 스키마 기반으로 병합(diff/merge)하여, 단순한 줄 단위 비교의 한계를 보완
  • 각 필드의 소유권(ownership)을 추적해 여러 작성자(사람, 컨트롤러)가 동시에 리소스를 수정하더라도 예측 가능한 결과를 제공한다.
  • 협업 환경에서 안정적으로 리소스를 관리할 수 있다.
    • 단순 문자열 비교가 아닌 구조적 데이터 병합(리스트/맵/스칼라 타입별, 스키마 기반) 지원
    • 필드 단위 소유권 추적으로 예기치 않은 덮어쓰기 방지

2 원리

구분 설명
3-way merge 확장 세 가지 버전을 비교하여 병합 수행
  • base: 기존 오브젝트 상태 (managedFields 기록 기준)
  • local: 새로 제출된 선언적 매니페스트 (SSA 요청)
  • remote: API 서버에 저장된 최신 리소스
스키마 인식(schema-aware) 데이터 타입에 따라 병합 전략을 달리 적용
  • 리스트: x-kubernetes-list-typeatomic / map / set
  • 맵(map)·스칼라(scalar): 구조에 맞춰 병합
필드 소유권 관리 각 필드의 소유 매니저를 추적

3 같이 보기

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}