watcher
-
client-go의 Reflector와 Watcher의 차이?Kubernetes 2025. 3. 2. 11:41
Kubernetes client-go 라이브러리에서 Reflector와 Watcher는 둘 다 Kubernetes API 서버에서 데이터를 감시(watch)하는 역할을 하지만, 동작 방식과 목적이 다릅니다. Watcher는 저수준 API, Reflector는 캐싱을 지원하는 고수준 API! 1️⃣ Watcher: API 서버의 watch 스트림을 직접 관리🔹 개념Watcher는 API 서버의 watch 엔드포인트를 직접 호출하여 리소스 변경 사항을 실시간으로 감지하는 저수준(LOW-level) 인터페이스입니다.client-go에서 ListerWatcher 인터페이스를 사용하여 직접 구현할 수 있습니다.🔹 동작 방식Kubernetes API 서버의 watch 엔드포인트를 호출하여 변경 사항을 실시간으로..
-
Kubernetes Operator 구현에 Watcher 사용Kubernetes 2025. 3. 2. 10:39
Watcher를 사용한 Kubernetes 리소스 감시 예제Watcher는 Kubernetes API 서버와 직접 연결하여 실시간 이벤트를 감지하는 방식입니다.하지만 API 서버 부하가 커질 수 있고, 연결이 끊기면 다시 연결해야 하는 단점이 있습니다. Watcher 기반 Deployment 감시 예제아래 코드는 Watcher를 사용하여 Kubernetes의 Deployment 리소스를 실시간으로 감시합니다.package mainimport ( "context" "fmt" "log" v1 "k8s.io/api/apps/v1" metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" "k8s.io/client-go/kubernetes" "k8s.io/client-go/rest" ..
-
Kubernetes의 Informer와 Watcher 차이점Kubernetes 2025. 3. 2. 10:31
Watcher와 Informer 모두 Kubernetes에서 클러스터 리소스를 모니터링하고 변경 사항을 감지하는 두 가지 주요 메커니즘 Watcher란?Watcher는 Kubernetes API 서버에서 특정 리소스의 변경 사항을 실시간으로 감지하는 기본 기능이야.kubectl get pods -w 명령어처럼 동작한다고 보면 돼.API 서버와 Persistent Connection(예: HTTP Long Polling 또는 WebSocket) 을 유지하면서 변경 사항이 발생하면 바로 이벤트를 받아.🔹 Watcher의 동작 방식클라이언트가 Kubernetes API 서버에 WATCH 요청을 보냄.API 서버는 해당 리소스의 변경 사항(추가, 수정, 삭제)을 스트리밍 방식으로 전송.클라이언트는 변경 사항을..