Kubernetes 리소스 사용량 표시

KubernetesBeginner
지금 연습하기

소개

자원 사용량은 Kubernetes 클러스터에서 실행되는 모든 애플리케이션의 중요한 측면입니다. 자원 사용량을 모니터링함으로써 성능 문제를 식별하고, 자원을 최적화하며, 애플리케이션의 전반적인 효율성을 향상시킬 수 있습니다. 이 랩에서는 metrics-server 를 사용하여 Kubernetes 클러스터에서 자원 사용량을 표시하는 방법을 살펴봅니다. CPU 및 메모리 사용량을 다룰 것입니다.

Minikube 클러스터 시작

자원을 생성하기 전에, 실행 중인 Kubernetes 클러스터가 필요합니다. Minikube 는 로컬 머신에서 실행되는 경량 Kubernetes 환경입니다.

  1. 작업 디렉토리로 이동:

    터미널을 열고 기본 프로젝트 폴더로 이동합니다:

    cd /home/labex/project
  2. Minikube 시작:

    Minikube 를 시작하여 Kubernetes 클러스터를 초기화합니다:

    minikube start
    • 이 명령어는 로컬 머신에 단일 노드 Kubernetes 클러스터를 설정합니다.
    • Minikube 는 시스템 성능에 따라 시작하는 데 몇 분 정도 걸릴 수 있습니다.
  3. Minikube 가 실행 중인지 확인:

    Minikube 클러스터의 상태를 확인합니다:

    minikube status
    • kubeletapiserver와 같은 구성 요소가 Running으로 나열되어 있는지 확인합니다.
    • 클러스터가 실행 중이지 않으면 minikube start를 다시 실행합니다.

Minikube 를 시작하는 데 문제가 발생하면 필요에 따라 minikube delete를 사용하여 환경을 재설정하십시오.

Metrics-Server 활성화

metrics-server 는 다양한 Kubernetes 객체에서 메트릭을 수집하여 다른 Kubernetes 구성 요소에서 사용할 수 있는 형식으로 제공하는 Kubernetes 구성 요소입니다. Kubernetes 클러스터에서 자원 사용량을 표시하기 전에 metrics-server 를 활성화해야 합니다.

minikube addons enable metrics-server

이 명령어는 Kubernetes 클러스터에서 metrics-server 를 활성화합니다.

metrics-server 가 실행 중인지 확인하려면 다음 명령을 실행하십시오:

kubectl get pods --namespace=kube-system | grep metrics-server

CPU 및 메모리 사용량 표시

Kubernetes 클러스터에서 CPU 및 메모리 사용량을 표시하기 위해 kubectl top 명령을 사용합니다. 이 명령을 사용하면 Kubernetes 객체의 자원 사용량을 실시간으로 확인할 수 있습니다.

## 특정 네임스페이스의 모든 파드에 대한 CPU 및 메모리 사용량 표시
kubectl top pods --namespace=kube-system

## 클러스터의 모든 노드에 대한 CPU 및 메모리 사용량 표시
kubectl top nodes

이 명령은 지정된 네임스페이스의 모든 파드 또는 클러스터의 모든 노드에 대한 현재 CPU 및 메모리 사용량 통계를 표시합니다.

컨테이너 CPU 및 메모리 사용량 표시

파드 내에서 실행 중인 컨테이너의 CPU 및 메모리 사용량을 표시하기 위해 다시 kubectl top 명령을 사용합니다.

레플리카의 템플릿으로 사용될 간단한 파드를 생성합니다. /home/labex/project/myapp-pod.yaml이라는 파일을 다음 내용으로 생성합니다.

apiVersion: v1
kind: Pod
metadata:
  name: myapp-pod
spec:
  containers:
    - name: myapp-container
      image: nginx
      ports:
        - containerPort: 80

다음 명령을 사용하여 파드를 생성합니다.

kubectl apply -f myapp-pod.yaml

그런 다음, 파드 내 특정 컨테이너의 CPU 및 메모리 사용량을 표시하려면 다음 명령을 사용합니다.

kubectl top pod myapp-pod --namespace=default --containers=true

이 명령은 지정된 파드 내의 지정된 컨테이너에 대한 현재 CPU 및 메모리 사용량 통계를 표시합니다.

요약

축하합니다! Kubernetes 리소스 사용량 표시 랩을 성공적으로 완료했습니다. 이 랩에서는 Kubernetes 클러스터에서 CPU 및 메모리 리소스 사용량 통계를 표시하는 방법을 배웠습니다. metrics-server 를 사용하여 애플리케이션의 리소스 사용량을 모니터링하고, 리소스를 최적화하며, Kubernetes 클러스터에서 실행되는 애플리케이션의 전반적인 효율성을 향상시킬 수 있습니다.