Kubernetes Metrics Server로 리소스 사용량 보기
Kubernetes Metrics Server로 리소스 사용량 보기
Amazon EKS 클러스터에 Kubernetes Metrics Server를 배포하는 방법을 설명합니다.
출처: 문서
본문
Kubernetes Metrics Server는 클러스터의 리소스 사용량 데이터 집계자이며, Amazon EKS 클러스터에 기본적으로 배포되지 않습니다. 자세한 내용은 GitHub의 Kubernetes Metrics Server를 참고하세요. Metrics Server는 Horizontal Pod Autoscaler로 Pod 배포 크기 조정이나 Kubernetes Dashboard와 같은 다른 Kubernetes 애드온에서 일반적으로 사용됩니다. 자세한 내용은 Kubernetes 문서의 Resource metrics pipeline을 참고하세요. 이 주제는 Amazon EKS 클러스터에 Kubernetes Metrics Server를 배포하는 방법을 설명합니다.
중요
메트릭은 특정 시점 분석용이며 과거 분석의 정확한 소스가 아닙니다. 모니터링 솔루션 또는 기타 비자동 확장 목적으로 사용할 수 없습니다. 모니터링 도구에 대한 자세한 내용은 클러스터 성능 모니터링 및 로그 보기를 참고하세요.
고려 사항
매니페스트를 사용해 Fargate 노드에 Kubernetes Metrics Server를 수동으로 배포한다면 metrics-server 배포가 기본값인 10250이 아닌 다른 포트를 사용하도록 구성하세요. 이 포트는 Fargate용으로 예약되어 있습니다. Amazon EKS 애드온 버전의 Metrics Server는 포트 10251을 사용하도록 사전 구성되어 있습니다.
보안 그룹과 네트워크 ACL이 metrics-server Pod와 다른 모든 노드 및 Pod 사이의 포트 10250을 허용하는지 확인하세요. Kubernetes Metrics Server는 클러스터의 다른 엔드포인트에서 메트릭을 수집할 때 여전히 포트 10250을 사용합니다. Fargate 노드에 배포한다면 구성된 대체 Metrics Server 포트와 포트 10250을 모두 허용하세요.
커뮤니티 애드온으로 Amazon EKS Add-ons와 함께 배포
새 기능: 이제 AWS 콘솔 또는 Amazon EKS API를 사용해 Metrics Server를 커뮤니티 애드온으로 배포할 수 있습니다.
AWS 콘솔로 배포:
- AWS 콘솔에서 EKS 클러스터를 엽니다.
- "Add-ons" 탭에서 Get More Add-ons를 선택합니다.
- "Community add-ons" 섹션에서 Metrics Server를 선택한 다음 Next를 선택합니다.
- EKS가 클러스터에 적합한 애드온 버전을 결정합니다. Version 드롭다운 메뉴로 버전을 변경할 수 있습니다.
- Next를 선택한 다음 Create를 선택해 애드온을 설치합니다.
추가 리소스:
- 커뮤니티 애드온에 대해 자세히 알아보기.
- 커뮤니티 애드온은 다른 Amazon EKS Add-ons와 같은 방식으로 설치하거나 업데이트합니다.
- Amazon EKS 애드온 생성
- Amazon EKS 애드온 업데이트
- 클러스터에서 Amazon EKS 애드온 제거
매니페스트로 배포
새 기능: 이제 AWS 콘솔 또는 Amazon EKS API를 사용해 Metrics Server를 커뮤니티 애드온으로 배포할 수 있습니다. 이러한 매니페스트 설치 지침은 보관될 예정입니다.
다음 명령으로 Metrics Server를 배포하세요.
kubectl apply -f https://github.com/kubernetes-sigs/metrics-server/releases/latest/download/components.yaml
Fargate를 사용한다면 이 파일을 변경해야 합니다. 기본 구성에서 메트릭 서버는 포트 10250을 사용합니다. 이 포트는 Fargate에서 예약되어 있습니다. components.yaml의 포트 10250 참조를 10251과 같은 다른 포트로 바꾸세요.
다음 명령으로 metrics-server 배포가 원하는 Pod 수를 실행 중인지 확인하세요.
kubectl get deployment metrics-server -n kube-system
출력 예시는 다음과 같습니다.
NAME READY UP-TO-DATE AVAILABLE AGE
metrics-server 1/1 1 1 6m
노드의 리소스(CPU/메모리) 사용량을 표시해 메트릭 서버가 작동하는지 테스트하세요.
kubectl top nodes
Error from server (Forbidden) 오류 메시지를 받으면 Kubernetes RBAC 구성을 업데이트해야 합니다. Kubernetes RBAC ID에 클러스터 메트릭을 읽을 수 있는 충분한 권한이 필요합니다. GitHub에서 메트릭 읽기의 최소 필수 Kubernetes API 권한을 검토하세요. IAM ID(역할 등)에 Kubernetes API 접근 권한을 부여하는 방법을 알아보세요.