Kubectl 자동 크기 조정 명령

Kubectl Jadong Keugi Jojeong Myeonglyeong



Kubernetes는 사람의 상호 작용 없이 리소스를 자동으로 관리하는 자동 크기 조정 기능을 제공합니다. 자동 크기 조정 기능은 필요할 때 자동으로 노드 수를 변경하고 리소스를 절약합니다. 이 기사에서는 'kubectl autoscale' 명령과 'HorizontalPodScaler' 자동 크기 조정을 배포하는 방법을 알아봅니다. 이 자습서에서는 이 중요한 개념을 자세히 설명합니다. 먼저 kubectl autoscale 개념이 무엇인지 논의한 다음 더 나은 이해를 위해 단계별 프로세스로 이동하겠습니다. 이 문서는 Kubernetes 자동 확장 개념을 처음 사용하는 경우 매우 유용합니다.

Kubectl 자동 크기 조정이란?

Auto Scaling은 Kubernetes 클러스터의 주요 기능으로 수동으로 수행하는 번거로움 없이 리소스를 자동으로 업데이트합니다. 까다로운 리소스를 수동으로 업데이트하는 것은 매우 시간과 리소스를 낭비하는 프로세스입니다. Kubernetes 자동 크기 조정은 리소스를 최적화하는 자동 기능을 제공합니다.

Autoscaler는 요구 사항에 따라 노드 수를 만들고 삭제할 수 있습니다. 자동 크기 조정은 리소스 낭비를 줄입니다. Kubectl 자동 크기 조정은 Kubernetes 클러스터 내에서 현재 실행 중인 포드를 자동으로 선택합니다.







스케일링에는 (1) HorizontalPodScaler 및 (2) 수직 스케일러의 두 가지 유형이 있습니다. 수평 스케일러는 수직 스케일러와 다릅니다. HorizontalPodScaler는 필요할 때 포드를 줄이거나 늘리는 데 도움이 됩니다. 반면 수직 스케일러는 CPU, 메모리 등의 리소스를 사용합니다.



다음은 시스템에서 수행할 수 있는 모든 단계이며 더 나은 이해를 위해 출력을 확인합니다.



1단계: Minikube 클러스터 시작

첫 번째 단계에서 minikube 도구를 시작하여 'kubectl autoscale' 명령을 실행할 수 있도록 Kubernetes 클러스터를 실행합니다. Minikube 클러스터를 사용하여 Kubernetes 환경에서 노드, 포드 및 클러스터까지 설정할 수 있습니다. 이렇게 하려면 다음 명령을 사용하여 minikube를 활성 모드로 유지하십시오.





~$ 미니큐브 시작

다음 출력 스크린샷에서 볼 수 있듯이 이 명령은 minikube 클러스터를 활성화하고 Kubernetes 환경을 사용 가능하게 만듭니다.

2단계: Pod 세부 정보 가져오기

이 단계에서는 Kubernetes 클러스터가 성공적으로 실행됩니다. 이제 클러스터에서 포드 세부 정보를 얻습니다. Kubernetes의 포드는 리소스를 공유하는 단위 모음입니다. 다음 스크립트는 minikube 클러스터에서 다음 명령을 실행하여 실행됩니다.

~$ kubectl 포드 가져오기

'kubectl get pods'라는 이전 명령을 사용하여 Kubernetes 클러스터에서 실행되는 모든 포드 목록을 가져올 수 있습니다.

'get pods' 명령을 실행한 후 다음 출력을 얻습니다.

  신뢰도가 낮은 컴퓨터 프로그램 설명의 스크린샷 자동 생성

3단계: Pod 배포 가져오기

이전 'kubectl get pods' 명령에서 포드의 세부 정보를 가져옵니다. 이제 'get deployment' 명령을 사용하여 생성된 배포 목록을 가져옵니다. 이를 위해 다음 스크립트가 실행됩니다.

~$ kubectl 배포 가져오기

명령을 실행한 후 다음 스크린샷에 출력이 표시됩니다.

4단계: 배포 자동 확장

autoscale 명령은 클러스터에서 실행되는 포드의 자동화 선택을 만드는 데 사용됩니다. 클러스터에 자동 크기 조정을 배포하여 노드 수를 자동으로 삽입하고 종료합니다. 다음 스크립트는 minikube 클러스터에서 실행되며 파일 이름, 최소 포드 및 포드가 2에서 10 사이여야 하는 최대 포드를 보여줍니다.

~$ kubectl 자동 확장 배포 nginx1-deployment1 --분 = 2 --최대 = 10

명령을 실행하면 다음 출력이 생성됩니다.

5단계: Kubernetes YAML 파일 생성

이 단계에서는 클러스터에 YAML 파일을 생성하는 방법을 배웁니다. YAML 파일은 배포 및 애플리케이션 테스트에 유용합니다. Kubernetes에는 파일을 만들고 편집할 수 있는 다양한 유형이 있습니다.

이 글에서는 “nano” 명령을 사용하여 YAML 파일을 생성합니다. 초보자에게 가장 쉽고 최고의 선택이기 때문입니다.

nano를 사용하여 YAML 파일을 생성하려면 여기에 주어진 단계를 따르십시오.

  • 새 파일을 만들거나 기존 파일을 변경하려면 원하는 디렉터리 위치로 이동합니다.
  • 'nano'를 입력합니다. 그런 다음 파일 이름을 작성하십시오. 예를 들어 새 파일 이름을 만들려면 'deploo.yaml'이라는 이름을 적어 둡니다.

다음 스크립트를 실행하고 프로젝트 디렉터리에 YAML 파일을 만듭니다.

~$ nano deploo.yaml

'deploo.yaml' 파일을 생성한 후 다음 단계는 YAML 파일을 구성하는 것입니다. 다음 단계에서 설명합니다.

6단계: YAML 파일의 내용

이 단계에서는 Apache 서버와 PHP 파일을 쉽게 구성할 수 있습니다. HorizontalPodScaler를 활용하기 전에 워크로드 모니터를 구성해야 합니다. 다음 코드는 종류:배포를 보여주므로 웹 브라우저의 포트는 90이고 CPU 제한은 200m입니다.

여기에서 전체 'deploo.yaml' 파일 정보를 볼 수 있습니다.

apiVersion : 앱/v1
친절한
: 전개
metadata
:
이름
: PHP
투기
:
선택자
:
일치 라벨
:
달리다
: php-아파치
주형
:
metadata
:
레이블
:
달리다
: php-아파치
투기
:
컨테이너
:
- 이름
: PHP
영상
: registry.k8s.io/hpa-예제
포트
:
- 컨테이너 포트
: 90
자원
:
제한
:
CPU
: 200m
요청
:

CPU
: 100m
---
apiVersion
: v1
친절한
: 서비스
metadata
:
이름
: PHP
레이블
:
달리다
: php-아파치
투기
:
포트
:
- 포트
: 70
선택자
:
달리다
: php-아파치

7단계: 배포 생성

이 단계에서는 'deploo.yaml'이라는 YAML 파일을 생성해 보겠습니다. Minikube 클러스터에서 다음 스크립트가 실행됩니다.

~$ kubectl create -f deploo.yaml

앞서 실행한 명령의 출력은 다음 스크린샷에서 볼 수 있습니다. 출력은 YAML 파일이 생성되었음을 나타냅니다.

8단계: HorizontalPodScaler 생성

이 단계에서는 HorizontalPodAutoscaler를 생성하는 명령을 보여줍니다. 포드는 수요에 따라 자동으로 삽입되고 종료됩니다. CPU 및 메모리 리소스가 자동 크기 조정에 의해 할당되는 수직적 크기 조정과는 다릅니다. Minikube 클러스터에서 다음 스크립트가 실행됩니다.

~$ kubectl 자동 확장 배포 php -- CPU - 퍼센트 = 오십 -- = 10 -최대 = 이십

여기에서 최소값과 최대값을 10과 20으로 설정한 것을 볼 수 있습니다.

첨부된 것은 이전 명령의 출력입니다.

9단계: HorizontalPodScaler 확인

이 단계에서는 새로 생성된 HorizontalPodAutoscaler의 현재 상태를 확인합니다. 다음 명령이 실행됩니다.

~$ kubectl은 hpa를 얻습니다.

결론

Kubernetes의 가장 유용한 기능 중 하나는 Kubernetes 클러스터에서 자동 리소스 업데이트를 제공하는 'kubectl autoscale'입니다. Autoscaler는 클러스터가 Pod를 늘리거나 줄여야 할 때 도움이 됩니다. 이 기사에서는 두 가지 자동 크기 조정 방법을 배웠습니다. 하나는 기본 자동 크기 조정기이고 다른 하나는 HorizontalPodScaler입니다.

먼저 포드를 배포하고 선언했습니다. 그런 다음 Autoscaler를 생성하고 Apache 서버를 구성하여 HorizontalPodScaler 이전에 워크로드 모니터를 배포했습니다. 그런 다음 YAML 파일과 HorizontalPodScaler를 만들었습니다. 이 문서에서는 자동 크기 조정 Kubernetes를 생성, 구성 및 배포하는 자세한 단계에 중점을 두었습니다.