"K8s 구조화 병합 및 비교"의 두 판 사이의 차이

(새 문서: ==개요== ;structured-merge-diff (SMD) ;구조화 병합 비교 * 쿠버네티스 Server-Side Apply(SSA)에서 사용하는 핵심 라이브러리 및 접근 방식 * YAML/JSON...)
 
30번째 줄: 30번째 줄:
* [[k8s managedFields]]
* [[k8s managedFields]]
* [[k8s 서버 사이드 apply]]
* [[k8s 서버 사이드 apply]]
==참고==
* https://github.com/kubernetes-sigs/structured-merge-diff


[[분류: k8s]]
[[분류: k8s]]
[[분류: k8s-sig-api-machinery]]

2025년 9월 7일 (일) 19:44 판

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 같이 보기

4 참고

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