일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- Java
- Linux
- Ai
- 머신러닝
- 코딩테스트
- docker
- Python
- db
- 알고리즘
- 자료구조
- DevOps
- 쿠버네티스
- LV 0
- github
- 깃
- git
- 데이터베이스
- 파이썬
- 인공지능
- mysql
- 우분투
- 프로그래머스
- Kubernetes
- 정처기
- 자바
- Lv 2
- programmers
- 코테
- ubuntu
- 리눅스
Archives
- Today
- Total
Myo-Kyeong Tech Blog
[Kubernetes] Metric API 오류 해결 방법 : Docker Desktop에 Metrics Server 설치 및 TLS 인증 문제 해결 본문
DevOps/Kubernetes
[Kubernetes] Metric API 오류 해결 방법 : Docker Desktop에 Metrics Server 설치 및 TLS 인증 문제 해결
myo-kyeong 2024. 8. 11. 21:50728x90
반응형
이 글은 Docker Desktop Kubernetes 클러스터에서 실시간 리소스 사용량을 확인하기 위해 kubectl top
명령어를 실행하다가 발생한 Metrics API
오류 해결 과정을 정리한 내용입니다.
Metrics Server 설치 및 확인
Metrics Server 최신 버전 설치
- Metrics Server는 각 노드의 Kubelet에서 메트릭 데이터를 수집해 클러스터 전체의 리소스 사용량을 집계함
$ kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Metrics Server 파드 상태 확인
- kube-system 네임스페이스 내의 Metrics Server 파드 Running 상태인지 확인하기
$ kubectl get pods -n kube-system
NAME READY STATUS RESTARTS AGE
coredns-76f75df574-8nhvk 1/1 Running 1 (20h ago) 162d
etcd-docker-desktop 1/1 Running 1 (20h ago) 162d
kube-apiserver-docker-desktop 1/1 Running 1 (20h ago) 162d
kube-controller-manager-docker-desktop 1/1 Running 1 (20h ago) 162d
kube-proxy-89xj2 1/1 Running 1 (20h ago) 162d
kube-scheduler-docker-desktop 1/1 Running 2 (14h ago) 162d
metrics-server-b677dfd6f-fv4sz 1/1 Running 0 116m
Metrics Server TLS 검증 비활성화 설정
Docker Desktop 과 같은 로컬환경에서는 기본적으로 제공되는 인증서 때문에 Metrics Server가 Kubelet과의 통신에서 문제가 발생할 수 있기 때문에 Metrics Server 매니페스트 파일에서 TLS 검증을 비활성화로 수정해주어야 합니다.
'metrics-server' 디플로이먼트 수정
- 'spec.template.spec.containers.args' 섹션에 '--kubelet-insecure-tls' 플래그 추가
$ kubectl edit deployment metrics-server -n kube-system
args:
- --kubelet-insecure-tls
Metrics Server가 Kubernetes API 연결 상태 확인
- metrics.k8s.io API 서비스 AVAILABLE 이 True 인지 확인하기
$ kubectl get apiservice v1beta1.metrics.k8s.io
NAME SERVICE AVAILABLE AGE
v1beta1.metrics.k8s.io kube-system/metrics-server True 18h
다음과 같이 metrics server 설치해주고 TLS 검증 비활성화 해준 후, kubectl top 명령어가 잘 실행되었습니다 :)
728x90
반응형
'DevOps > Kubernetes' 카테고리의 다른 글
[Kubernetes] 쿠버네티스 네트워크 통신 오브젝트 : Service 와 Ingress (2) | 2024.05.06 |
---|---|
[Kubernetes] 쿠버네티스 CronJob으로 작업 스케줄링하기 (3) | 2024.03.06 |
[Kubernetes] Kubernetes Dashboard 설치하기 (0) | 2024.03.02 |
[Kubernetes] Docker Desktop에서 쿠버네티스 사용 설정하기 (0) | 2024.03.02 |
[Kubernetes] 쿠버네티스 오브젝트 - 파드(Pod), 레플리카셋(ReplicaSet), 디플로이먼트(Deployment) (0) | 2024.02.11 |