cAdvisor

Jmnote (토론 | 기여)님의 2024년 9월 26일 (목) 19:59 판
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

1 개요[ | ]

cAdvisor, cadvisor
c어드바이저
  • "Container Advisor(컨테이너 어드바이저 → 컨테이너 조언자)"
  • 동작중인 컨테이너의 리소스 사용량, 성능 특성 분석

Cadvisor logo.png

cAdvisor (Container Advisor)는 실행 중인 컨테이너의 리소스 사용량 및 성능 특성을 이해하는 데 도움이 되는 도구입니다. 이 도구는 실행 중인 데몬으로, 실행 중인 컨테이너에 대한 정보를 수집하고, 집계하고, 처리하며, 이를 외부로 제공합니다. 특히, 각 컨테이너에 대해 리소스 격리 파라미터, 과거의 리소스 사용량, 전체 과거 리소스 사용량의 히스토그램 및 네트워크 통계를 유지합니다. 이 데이터는 컨테이너 단위 및 머신 전체 단위로 내보내집니다.

cAdvisor는 Docker 컨테이너에 대한 네이티브 지원을 제공하며, 기본 설정으로 다른 거의 모든 컨테이너 타입을 지원할 수 있습니다. 모든 도구에 대한 지원을 목표로 하고 있으므로, 그렇지 않은 경우 이슈를 열어주세요. cAdvisor의 컨테이너 추상화는 lmctfy(리눅스 컨테이너화 프로젝트)를 기반으로 하므로 컨테이너는 계층적으로 중첩되어 있습니다.

빠른 시작: Docker 컨테이너에서 cAdvisor 실행하기

Docker가 설치된 기기에서 cAdvisor를 빠르게 체험해보고 싶다면, 필요한 모든 것을 포함하는 Docker 이미지를 사용할 수 있습니다. 단일 cAdvisor를 실행하여 전체 기기를 모니터링할 수 있습니다. 다음 명령어를 실행하세요:

VERSION=v0.49.1 # https://github.com/google/cadvisor/releases에서 최신 릴리즈 버전을 사용하세요
sudo docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/dev/disk/:/dev/disk:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  --privileged \
  --device=/dev/kmsg \
  gcr.io/cadvisor/cadvisor:$VERSION

이제 cAdvisor가 백그라운드로 http://localhost:8080에서 실행되고 있습니다. 이 설정은 cAdvisor가 관찰해야 하는 Docker 상태가 있는 디렉토리를 포함합니다.

참고: CentOS, Fedora 또는 RHEL에서 실행 중이거나 LXC를 사용하는 경우, 실행 지침을 참고하세요.

Docker 외부에서 독립적으로 cAdvisor를 실행하는 자세한 지침이 제공됩니다. 고급 사용 사례에 대해서는 cAdvisor의 실행 옵션도 흥미로울 수 있습니다. 직접 cAdvisor Docker 이미지를 빌드하려면 배포 페이지를 참조하세요.

Kubernetes 사용자의 경우, cAdvisor를 데몬셋으로 실행할 수 있습니다. 시작 방법 및 필요에 맞게 kustomize하는 방법에 대한 지침을 참조하세요.

2 빌드 및 테스트[ | ]

빌드 페이지에서 더 자세한 지침을 참조할 수 있습니다. 여기에는 cAdvisor Docker 이미지를 빌드하고 배포하는 방법이 포함됩니다.

3 통계 내보내기[ | ]

cAdvisor는 다양한 스토리지 플러그인으로 통계를 내보내는 것을 지원합니다. 자세한 내용과 예시는 문서에서 확인하세요.

4 웹 UI[ | ]

cAdvisor는 포트에서 웹 UI를 노출합니다:

http://<hostname>:<port>/

자세한 내용은 문서를 참조하세요.

5 원격 REST API 및 클라이언트[ | ]

cAdvisor는 버전이 지정된 원격 REST API를 통해 원시 및 처리된 통계를 노출합니다. API 문서에서 자세한 정보를 확인하세요.

공식 Go 클라이언트 구현도 클라이언트 디렉토리에 있습니다. 자세한 내용은 문서를 참조하세요.

6 로드맵[ | ]

cAdvisor는 실행 중인 컨테이너의 리소스 사용 및 성능 특성을 개선하는 것을 목표로 합니다. 오늘날 우리는 이 정보를 사용자에게 수집하고 노출합니다. 우리의 로드맵에는 다음이 포함됩니다:

  • 컨테이너의 성능에 대해 조언 (예: 다른 컨테이너에 의해 부정적인 영향을 받는 경우, 필요한 리소스를 받지 못하는 경우 등)
  • 이전 조언에 기반하여 컨테이너의 성능 자동 조정
  • 클러스터 스케줄러 및 오케스트레이션 계층에 사용 예측 제공

7 커뮤니티[ | ]

기여, 질문, 의견은 모두 환영하고 장려합니다! cAdvisor 개발자는 Slack의 #sig-node 채널에 있습니다 (여기에서 초대를 받으세요). 또한 discuss.kubernetes.io도 있습니다.

프로젝트에 참여하고 기여해주시기 바랍니다. 더 많은 기여자를 적극적으로 찾고 있습니다!

8 같이 보기[ | ]

9 참고[ | ]

문서 댓글 ({{ doc_comments.length }})
{{ comment.name }} {{ comment.created | snstime }}