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

(새 문서: ==개요== ;structured-merge-diff (SMD) ;구조화 병합 비교 * 쿠버네티스 Server-Side Apply(SSA)에서 사용하는 핵심 라이브러리 및 접근 방식 * YAML/JSON...)
 
 
(같은 사용자의 중간 판 10개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
==개요==
;structured-merge-diff (SMD)
;Structured Merge and Diff (SMD), structured-merge-diff
;구조화 병합 비교
;구조화 병합 및 비교, 구조화-병합-비교
* 쿠버네티스 [[Server-Side Apply]](SSA)에서 사용하는 핵심 라이브러리 및 접근 방식
* 쿠버네티스 [[Server-Side Apply]](SSA)에서 사용하는 핵심 라이브러리 및 접근 방식
* YAML/JSON 같은 계층적 데이터 구조를 스키마 기반으로 병합(diff/merge)하여, 단순한 줄 단위 비교의 한계를 보완
* YAML/JSON 같은 계층적 데이터 구조를 스키마 기반으로 병합(diff/merge)하여, 단순한 줄 단위 비교의 한계를 보완
13번째 줄: 13번째 줄:
! 구분 !! 설명
! 구분 !! 설명
|-
|-
| [[3-way merge]] 확장 || 세 가지 버전을 비교하여 병합 수행  
| [[3-way 병합]]확장 || 세 가지 버전을 비교하여 병합 수행  
* base: 기존 오브젝트 상태 (managedFields 기록 기준) 
* base: 기존 오브젝트 상태
* local: 새로 제출된 선언적 매니페스트 (SSA 요청) 
* local: 새로 제출된 선언적 매니페스트
* remote: API 서버에 저장된 최신 리소스
* remote: API 서버에 저장된 최신 리소스
|-
|-
26번째 줄: 26번째 줄:
* 다른 매니저가 같은 필드를 변경하면 충돌(conflict) 발생
* 다른 매니저가 같은 필드를 변경하면 충돌(conflict) 발생
|}
|}
==같이 보기==
==같이 보기==
{{z컬럼3|
* [[병합]]
* [[비교]]
* [[구조화]]
* [[3-way 병합]]
* [[3-way 병합]]
* [[k8s managedFields]]
* [[k8s managedFields]]
* [[k8s 서버 사이드 apply]]
* [[k8s 서버 사이드 apply]]
}}
==참고==
* https://github.com/kubernetes-sigs/structured-merge-diff
* https://pkg.go.dev/sigs.k8s.io/structured-merge-diff#section-readme


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

2025년 9월 7일 (일) 19:48 기준 최신판

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 }}