OCC
-
CRD 리소스에서 Optimistic Concurrency Control(OCC) 구현Kubernetes 2025. 4. 2. 04:20
Kubernetes는 분산 환경에서 여러 클라이언트가 동시에 리소스를 수정할 수 있기 때문에, 충돌 관리가 중요합니다. 이를 해결하기 위해 Kubernetes는 Optimistic Concurrency Control(OCC) 방식을 사용합니다.이 글에서는 CRD(Custom Resource Definition) 리소스에서도 OCC를 어떻게 구현하고 사용하는지, 그리고 실제 Go 코드로 어떻게 처리하는지 알아보겠습니다. OCC란?OCC(낙관적 동시성 제어)는 "충돌이 자주 일어나지 않을 것"이라고 가정하고,리소스를 수정할 때마다 현재 버전(resourceVersion)을 확인하여 충돌 여부를 판단하는 방식입니다.최신 버전일 경우 → 정상 업데이트버전 불일치 시 → 409 Conflict 오류 발생 → 재시..
-
Kubernetes의 Optimistic Concurrency Control (OCC)Kubernetes 2025. 4. 2. 04:10
Kubernetes의 Optimistic Concurrency Control (OCC*은 여러 클라이언트가 동시에 리소스를 수정하려고 할 때 충돌을 방지하기 위한 방법입니다. Kubernetes는 분산 시스템이기 때문에 여러 사용자가 같은 리소스를 동시에 수정할 수 있는데, 이때 낙관적(optimistic) 접근으로 충돌을 감지하고 처리합니다. 핵심 개념: metadata.resourceVersion모든 Kubernetes 리소스에는 metadata.resourceVersion이라는 필드가 존재합니다.이 값은 해당 리소스가 변경될 때마다 변경되는 버전 번호입니다.apiVersion: v1kind: ConfigMapmetadata: name: my-config resourceVersion: "12345..