/
Setting up K8s Metrics Server Addon

Setting up K8s Metrics Server Addon

Deploy metrics-server

K8s를 기본으로 설치하면, 각 node나 pod의 CPU, Memory와 같은 기본적인 지표가 보여지지 않는다.

따라서, 다음과 같이 metrics-server를 설치 한다.
그러고 나면, metrics-server pod는 master node 포함하여 각 worker node의 Kubelet API를 통해 관련 metrics를 수집한다.

단, metrics-server는 모니터링을 위한 도구로는 사용하기 않기를 공식적으로 권고하고 있으며, 주 용도는 k8s에서 pod auto-scaling에서 사용된다.

$ wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.3/components.yaml && mv components.yaml metrics-server.yaml # Dashboard와 마찬가지로 metrics-server pod는 master node에 상주해야 한다. # 따라서, metrics-server.yaml의 Deployment object 명세에 아래 내용을 추가한다. $ vim metrics-server.yaml ... --- apiVersion: apps/v1 kind: Deployment ... spec: ... containers: - name: metrics-server image: k8s.gcr.io/metrics-server/metrics-server:v0.3.7 imagePullPolicy: IfNotPresent args: - --cert-dir=/tmp - --secure-port=4443 - --kubelet-preferred-address-types=InternalIP # coredns에서는 node의 domain은 관리하지 않는다. 따라서 InternalIP로 지정하도록 한다. - --kubelet-insecure-tls # insecure option도 추가. ... nodeSelector: kubernetes.io/os: linux kubernetes.io/arch: "amd64" kubernetes.io/hostname: k8s-master-centos8.snetsystems.com # 노드 지정 tolerations: # master node에 안착할 수 있도록 백신 접종. - key: node-role.kubernetes.io/control-plane effect: NoSchedule ... $ kubectl apply -f metrics-server.yaml ... $ kubectl get po -n kube-system metrics-server-6d6cb79878-m46xf -o wide NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES metrics-server-6d6cb79878-m46xf 1/1 Running 0 3m6s 10.244.0.8 k8s-master-centos8.snetsystems.com <none> <none>

아래 그림과 같이 모든 nodepod들의 cpu, memory 그래프가 출력되면 정상이다.
만일 정상 출력되지 않는다면, How to check Network Problems | Resolve를 보기 바란다.

 

Related content

[Certain Version] Installation for test Env.
[Certain Version] Installation for test Env.
More like this
Creating a single control-plane cluster with kubeadm
Creating a single control-plane cluster with kubeadm
More like this
Using Service & Ingress
Using Service & Ingress
Read with this
Kubernetes Monitoring
Kubernetes Monitoring
More like this
Quickstart Helm
Quickstart Helm
Read with this
K8s
More like this