"CAdvisor"의 두 판 사이의 차이

 
(같은 사용자의 중간 판 18개는 보이지 않습니다)
1번째 줄: 1번째 줄:
==개요==
{{소문자}}
{{소문자}}
==개요==
;cAdvisor, cadvisor
;cAdvisor
;c어드바이저
;c어드바이저
* "Container Advisor"
* "Container Advisor(컨테이너 어드바이저 {{해석|컨테이너 조언자}})"
* 동작중인 컨테이너의 리소스 사용량, 성능 특성 분석
* 동작중인 컨테이너의 리소스 사용량, 성능 특성 분석
[[파일:cadvisor_logo.png|220px]]
cAdvisor (Container Advisor)는 실행 중인 컨테이너의 리소스 사용량 및 성능 특성을 이해하는 데 도움이 되는 도구입니다. 이 도구는 실행 중인 데몬으로, 실행 중인 컨테이너에 대한 정보를 수집하고, 집계하고, 처리하며, 이를 외부로 제공합니다. 특히, 각 컨테이너에 대해 리소스 격리 파라미터, 과거의 리소스 사용량, 전체 과거 리소스 사용량의 히스토그램 및 네트워크 통계를 유지합니다. 이 데이터는 컨테이너 단위 및 머신 전체 단위로 내보내집니다.
cAdvisor는 [[Docker]] 컨테이너에 대한 네이티브 지원을 제공하며, 기본 설정으로 다른 거의 모든 컨테이너 타입을 지원할 수 있습니다. 모든 도구에 대한 지원을 목표로 하고 있으므로, 그렇지 않은 경우 이슈를 열어주세요. cAdvisor의 컨테이너 추상화는 [[lmctfy]](리눅스 컨테이너화 프로젝트)를 기반으로 하므로 컨테이너는 계층적으로 중첩되어 있습니다.
;<nowiki>빠른 시작: Docker 컨테이너에서 cAdvisor 실행하기</nowiki>
Docker가 설치된 기기에서 cAdvisor를 빠르게 체험해보고 싶다면, 필요한 모든 것을 포함하는 Docker 이미지를 사용할 수 있습니다. 단일 cAdvisor를 실행하여 전체 기기를 모니터링할 수 있습니다. 다음 명령어를 실행하세요:
<syntaxhighlight lang='bash'>
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
</syntaxhighlight>
이제 cAdvisor가 백그라운드로 <code>http://localhost:8080</code>에서 실행되고 있습니다. 이 설정은 cAdvisor가 관찰해야 하는 Docker 상태가 있는 디렉토리를 포함합니다.
참고: CentOS, Fedora 또는 RHEL에서 실행 중이거나 LXC를 사용하는 경우, [https://github.com/google/cadvisor/blob/master/docs/running.md 실행 지침]을 참고하세요.
Docker 외부에서 독립적으로 cAdvisor를 실행하는 [https://github.com/google/cadvisor/blob/master/docs/running.md#standalone 자세한 지침]이 제공됩니다. 고급 사용 사례에 대해서는 cAdvisor의 [https://github.com/google/cadvisor/blob/master/docs/runtime_options.md 실행 옵션]도 흥미로울 수 있습니다. 직접 cAdvisor Docker 이미지를 빌드하려면 [https://github.com/google/cadvisor/blob/master/docs/deploy.md 배포 페이지]를 참조하세요.
[[Kubernetes]] 사용자의 경우, cAdvisor를 데몬셋으로 실행할 수 있습니다. 시작 방법 및 필요에 맞게 [[kustomize]]하는 방법에 대한 [https://github.com/google/cadvisor/blob/master/deploy/kubernetes 지침]을 참조하세요.
==빌드 및 테스트==
[https://github.com/google/cadvisor/blob/master/docs/development/build.md 빌드 페이지]에서 더 자세한 지침을 참조할 수 있습니다. 여기에는 cAdvisor Docker 이미지를 빌드하고 배포하는 방법이 포함됩니다.
==통계 내보내기==
cAdvisor는 다양한 스토리지 플러그인으로 통계를 내보내는 것을 지원합니다. 자세한 내용과 예시는 [https://github.com/google/cadvisor/blob/master/docs/storage/README.md 문서]에서 확인하세요.
==웹 UI==
cAdvisor는 포트에서 웹 UI를 노출합니다:
<code>http://<hostname>:<port>/</code>
자세한 내용은 [https://github.com/google/cadvisor/blob/master/docs/web.md 문서]를 참조하세요.
==원격 REST API 및 클라이언트==
cAdvisor는 버전이 지정된 원격 REST API를 통해 원시 및 처리된 통계를 노출합니다. [https://github.com/google/cadvisor/blob/master/docs/api.md API 문서]에서 자세한 정보를 확인하세요.
공식 Go 클라이언트 구현도 [https://github.com/google/cadvisor/blob/master/client 클라이언트 디렉토리]에 있습니다. 자세한 내용은 [https://github.com/google/cadvisor/blob/master/docs/clients.md 문서]를 참조하세요.
==로드맵==
cAdvisor는 실행 중인 컨테이너의 리소스 사용 및 성능 특성을 개선하는 것을 목표로 합니다. 오늘날 우리는 이 정보를 사용자에게 수집하고 노출합니다. 우리의 로드맵에는 다음이 포함됩니다:
* 컨테이너의 성능에 대해 조언 (예: 다른 컨테이너에 의해 부정적인 영향을 받는 경우, 필요한 리소스를 받지 못하는 경우 등)
* 이전 조언에 기반하여 컨테이너의 성능 자동 조정
* 클러스터 스케줄러 및 오케스트레이션 계층에 사용 예측 제공
==커뮤니티==
기여, 질문, 의견은 모두 환영하고 장려합니다! cAdvisor 개발자는 [https://kubernetes.slack.com/ Slack]의 #sig-node 채널에 있습니다 ([http://slack.kubernetes.io/ 여기]에서 초대를 받으세요). 또한 [https://discuss.kubernetes.io/ discuss.kubernetes.io]도 있습니다.
프로젝트에 참여하고 기여해주시기 바랍니다. 더 많은 기여자를 적극적으로 찾고 있습니다!


==같이 보기==
==같이 보기==
* [[쿠버네티스]]
{{z컬럼3|
* <del>[[Heapster]]</del>
* [[kubelet]]
* [[컨테이너 (가상화)]]
* [[Prometheus container metrics]]
* [[kubectl proxy 통해 cadvisor 메트릭 조회]]
}}


==참고==
==참고==
* https://github.com/google/cadvisor
* https://github.com/google/cadvisor
* https://github.com/kubernetes/kubernetes/blob/release-1.14/pkg/kubelet/server/stats/handler.go#L28


[[분류: 구글]]
[[분류: cAdvisor]]

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 }}