Informer를 사용해 쿠버네티스 중계 API 서버의 성능 개선하기

Informer를 사용해 쿠버네티스 중계 API 서버의 성능 개선하기

0
AI 요약

이 글은 AI가 원문을 분석하여 핵심 내용을 요약한 것입니다.

Informer를 활용한 쿠버네티스 중계 API 서버 성능 개선

이 게시물은 쿠버네티스 클러스터에서 Informer를 사용해 중계 API 서버의 성능을 개선한 경험을 공유합니다.

배경과 문제점

  • 멀티 테넌트 쿠버네티스에서 사용자 권한 제한으로 노드 리소스 현황 조회에 제약이 있었음
  • Python 클라이언트로 중계 API 서버를 직접 구현했으나, 모든 파드 조회로 인한 느린 응답과 kube-apiserver 부하 문제 발생

Informer 적용과 효과

  • Go 클라이언트의 Informer를 사용해 노드와 파드 정보를 로컬 캐시에 유지
  • Informer 캐시는 이벤트 기반으로 etcd 데이터 변경을 감지해 최신 상태 유지
  • 기존 10초에 달하던 리소스 계산 시간을 약 0.2초로 대폭 단축

결론

Informer 캐시를 활용해 kube-apiserver 부하를 줄이고 고성능 중계 API 서버를 구현할 수 있음을 보여줍니다.