Exercise 13.3: Adding tools for monitoring and metrics
CP 노드에 연결된 터미널로 이동
Pod의 리소스 사용량 확인
kubectl top pod
Metric Server 설치
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Metric Server 상태 확인
kubectl -n kube-system get pods -l k8s-app=metrics-server
Metric Server 로그 확인
kubectl -n kube-system logs deploy/metrics-server
Kubelet이 제공하는 모든 지표 확인
curl -k https://localhost:10250/stats/summary \ --cert ./client.pem --key ./client-key.pem --cacert ./ca.pem
Kubelet이 제공하는 CPU 및 Memory 지표 확인
curl -k https://localhost:10250/stats/summary?only_cpu_and_memory=true \ --cert ./client.pem --key ./client-key.pem --cacert ./ca.pem
API 서버를 통해서 노드의 지표 확인
kubectl get --raw /api/v1/nodes/worker/proxy/stats/summary?only_cpu_and_memory=true
배포된 metrics-server Deployment를 수정하도록 텍스트 에디터 실행
kubectl -n kube-system edit deploy metrics-server
Kubelet과 TLS 없이 통신 가능하도록 spec.template.spec.containers[0].args 에서 아래의 옵션값 추가
- --kubelet-insecure-tls
8, 9번 단계를 수행하지 않고 아래의 명령어로 대체 가능
kubectl -n kube-system patch deployment metrics-server --type=json \ -p='[{"op": "add", "path": "/spec/template/spec/containers/0/args/-", "value": "--kubelet-insecure-tls"}]'
새로운 Pod가 생성되었는지 확인
kubectl -n kube-system get pods -l k8s-app=metrics-server
Metric Server 로그 확인
kubectl -n kube-system logs deploy/metrics-server
API 서버에 등록된 API 목록 확인
kubectl get apiservices.apiregistration.k8s.io
Metrics API가 추가되었는지 확인
kubectl api-resources | grep --color 'metrics\|$'
Pod 리소스 사용량 확인
kubectl top pod --all-namespaces
Node 리소스 사용량 확인
kubectl top node
Last updated