와탭 컨퍼런스 내용 정리

김동영·2024년 12월 19일
1

용어

오브젝트 - 쿠버네티스에 배포된 자원

세션1: 쿠버네티스 옵저버빌리티(observability) 설명

쿠버네티스가 필요한 이유

  • 빠른 대응을 위해 서비스 단위를 세분화(MSA)
  • 마이크로 서비스를 원활하게 배포하기 위한 컨테이너의 등장
  • 컨테이너의 등장 -> 각 서비스를 독립적인 환경으로 분리하기 위한 기술
  • 여러 개의 컨테이너를 자동으로 관리(오케스트레이션)

쿠버네티스 옵저버빌리티(observability)

  • 모니터링보다 확장된 개념
  • 파드 pending 상태 파악 및 영향도 체크 가능
  • 해당 기능을 위한 추가 관리가 필요함.
  • metrics, trace, log

와탭 설명

  • 옵저버빌리티 서비스 제공
  • 오브젝트 매니페스트 제공
    • 주기적으로 수집하여 과거 매니페스트도 제공함.

kube api server 모니터링

  • 클러스터 전반에 발생하는 통신을 제어함.
    • 파드 스케쥴링
    • 네트워크
    • etc...
  • NKS 등 서비스를 사용해도 관리가 필요함.
  • kubectl 커멘드 속도가 느리다면 api server 이슈일 수 있음
    • api server 부하가 많아지면 커멘드도 느려질 수 있음.(api server 에서 응답을 제공함.)

pod 시작 분석

  • 파드 시작 시, 발생하는 리소스를 분석하여 리퀘스트/리밋 설정에 도움을 주는 와탭 서비스
  • 어떻게 만드는지 생각해보기.

와탭 helm 지원

  • 와탭 설치를 헬름 차트로 제공

컨테이너, 파드 상태 분석

  • 지표를 분석하여 대화형으로 풀어준다.

와탭 인그레스 모니터링

  • 인그레스 -> 파드 까지의 과정까지의 흐름을 한번에 제공한다.
  • (사견) 이 오브젝트들을 차트로 묶어서 관리한다면 가능함.(아르고CD 에서 흐름을 보여줌.)

데이터 관리

  • file db 자체 생성하여 관리함.
  • 모니터링 특성 상, read/create 를 주로 함
  • 위 관점에 맞춰 적은 양으로 많이 저장하고 빠르게 조회하기 위해 파일 디비 수동 관리. => 저장량이 줄어 비용이 감소함.
  • 자체 파일 db 용 mxql(metricsQueryLanguage) 자체 개발하여 쿼리 제공

세션2: 쿠버네티스 모니터링 트러블 슈팅

1. 파드 팬딩

  • 노드 자원 부족
  • 이미지 없음.
  • taint 로 인한 스케쥴링 거부

2. 서비스가 느린 경우

  • 탐색 방법: 인그레스 -> 서비스 -[kube proxy]> 노드 -> 파드 -> application
  • 원인(다른 원인이 있을 수 있음.)
    1. 특정 노드 cordon 으로 스케쥴링에서 제거된 경우
    • 스케쥴링 가능한 노드가 줄어들어 CPU, Memory 자원이 부족해짐.
    1. 타 팀의 리소스가 배포된 경우
    • 예상치 못하게 리소스 사용량이 증가함.
    1. 특정 파드 메모리가 증가해 다운되는 경우
    • 파드가 재시작되는 동안 연계된 서비스 응답은 느려짐.

cAdviser

  • 실제 사용할 수 있는 용량 관리

메모리 사용량 수집

  • /proc 경로 하위 파일 참고

가상화 메모리 사용량 측정

  • /sys/fs/cgroup
profile
k8s, 프레임워크와 함께하는 백엔드 개발자입니다.

0개의 댓글