Exercise 13.3: Adding tools for monitoring and metrics

  1. CP 노드에 연결된 터미널로 이동

  2. Pod의 리소스 사용량 확인

    kubectl top pod
  3. Metric Server 설치

    kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
  4. Metric Server 상태 확인

    kubectl -n kube-system get pods -l k8s-app=metrics-server
  5. Metric Server 로그 확인

    kubectl -n kube-system logs deploy/metrics-server
  6. Kubelet이 제공하는 모든 지표 확인

    curl -k https://localhost:10250/stats/summary \
    --cert ./client.pem --key ./client-key.pem --cacert ./ca.pem
  7. 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
  8. API 서버를 통해서 노드의 지표 확인

    kubectl get --raw /api/v1/nodes/worker/proxy/stats/summary?only_cpu_and_memory=true
  9. 배포된 metrics-server Deployment를 수정하도록 텍스트 에디터 실행

    kubectl -n kube-system edit deploy metrics-server
  10. Kubelet과 TLS 없이 통신 가능하도록 spec.template.spec.containers[0].args 에서 아래의 옵션값 추가

    - --kubelet-insecure-tls
  11. 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"}]'
  12. 새로운 Pod가 생성되었는지 확인

    kubectl -n kube-system get pods -l k8s-app=metrics-server
  13. Metric Server 로그 확인

    kubectl -n kube-system logs deploy/metrics-server
  14. API 서버에 등록된 API 목록 확인

    kubectl get apiservices.apiregistration.k8s.io
  15. Metrics API가 추가되었는지 확인

    kubectl api-resources | grep --color 'metrics\|$'
  16. Pod 리소스 사용량 확인

    kubectl top pod --all-namespaces
  17. Node 리소스 사용량 확인

    kubectl top node

Last updated