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

13번째 줄: 13번째 줄:
! 구분 !! 설명
! 구분 !! 설명
|-
|-
| [[3-way merge]] 확장 || 세 가지 버전을 비교하여 병합 수행  
| [[3-way 병합]]확장 || 세 가지 버전을 비교하여 병합 수행  
* base: 기존 오브젝트 상태 (managedFields 기록 기준)   
* base: 기존 오브젝트 상태 (managedFields 기록 기준)   
* local: 새로 제출된 선언적 매니페스트 (SSA 요청)   
* local: 새로 제출된 선언적 매니페스트 (SSA 요청)   
26번째 줄: 26번째 줄:
* 다른 매니저가 같은 필드를 변경하면 충돌(conflict) 발생
* 다른 매니저가 같은 필드를 변경하면 충돌(conflict) 발생
|}
|}
==같이 보기==
==같이 보기==
* [[3-way 병합]]
* [[3-way 병합]]

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

1 개요

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

2 원리

구분 설명
3-way 병합의 확장 세 가지 버전을 비교하여 병합 수행
  • 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 }}