metrics-server.yaml 파일 일부(기존 코드에서 변경된 부분)
-
[중략]
-
containers:
-
- name: metrics-server
-
image: k8s.gcr.io/metrics-server-amd64:v0.3.6
-
args:
-
# Manually Add for lab env(Sysnet4admin/k8s) -
# skip tls internal usage purpose -
- --kubelet-insecure-tls
-
# kubelet could use internalIP communication -
- --kubelet-preferred-address-types=InternalIP
-
- --cert-dir=/tmp
-
- --secure-port=4443
-
[생략]
기존 코드에서 변경된 내용은 다음과 같습니다.
• 102번째 줄: TLS(Transport Layer Security) 인증을 무시하게 합니다.
• 104~106번째 줄: kubelet이 내부 주소를 우선 사용하게 합니다.
Note ≡
만약 쿠버네티스 메트릭 서버의 소스를 그대로 내려받아 실행하면 앞의 설정이 적용되지 않아 다음과 같은 에러가 발생합니다.
[root@m-k8s ~]# kubectl top pods
W0213 11:02:19.015510 19244 top_pod.go:266] Metrics not available for pod default/hpa-hname-pods-9b7b5d789-bjktm, age: 13m55.01548433s
error: Metrics not available for pod default/hpa-hname-pods-5c844d6487-d6fmp, age: 13m55.01548433s