/
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>
아래 그림과 같이 모든 node
내 pod
들의 cpu, memory 그래프가 출력되면 정상이다.
만일 정상 출력되지 않는다면, How to check Network Problems | Resolve를 보기 바란다.
, multiple selections available,
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