Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

...

Note

Dashboard와 마찬가지로 metrics-server podmaster node에 상주 해야 한다.

master nodepod worker node routing: (O)
worker nodepod master node routing: (X)

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

$ kubectl apply -f metrics-server.yaml
...
$ kubectl get pod -n kube-system metrics-server-77ffddc74-7z7j4 -o wide
NAME                             READY   STATUS    RESTARTS   AGE   IP           NODE     NOMINATED NODE   READINESS GATES
metrics-server-77ffddc74-7z7j4   1/1     Running   0          15m   10.244.0.6   k8s-01   <none>           <none>

...