K8s 구조화 병합 및 비교

(K8s 구조화 병합 비교에서 넘어옴)

1 개요[ | ]

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

2 원리[ | ]

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

3 같이 보기[ | ]

4 참고[ | ]

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