Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

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

Code Block
languageyaml
$ wget https://github.com/kubernetes-sigs/metrics-server/releases/download/v0.6.3.7/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-01-master-centos8.snetsystems.com # 노드 지정
      tolerations: # master node에 안착할 수 있도록 백신 접종.
        - key: node-role.kubernetes.io/mastercontrol-plane
          effect: NoSchedule
...

$ kubectl apply -f metrics-server.yaml
...
$ kubectl get podpo -n kube-system metrics-server-77ffddc746d6cb79878-7z7j4m46xf -o wide
NAME                              READY   STATUS    RESTARTS   AGE    IP           NODE                                 NOMINATED NODE   READINESS GATES
metrics-server-77ffddc746d6cb79878-7z7j4m46xf   1/1     Running   0          15m3m6s   10.244.0.68   k8s-01-master-centos8.snetsystems.com   <none>           <none>

아래 그림과 같이 모든 nodepod들의 cpu, memory 그래프가 출력되면 정상이다.
만일 정상 출력되지 않는다면, https://seversky.atlassian.net/wiki/spaces/CHT/pages/646348818/How+to+check+Network+Problems#Resolve를 보기 바란다.

...