Kubernetes 스토리지 클래스를 사용하는 방법

Kubernetes Seutoliji Keullaeseuleul Sayonghaneun Bangbeob



이 기사에서는 Kubernetes의 스토리지와 더 나은 구현을 위해 애플리케이션에서 Kubernetes의 스토리지 클래스를 사용하는 방법에 대해 설명합니다. 이 자습서의 예제를 통해 모든 것을 설명합니다. 이 튜토리얼의 목표는 Kubernetes에서 스토리지 클래스를 쉽게 정의하고 스토리지 클래스의 목적, 표준 스토리지 클래스가 무엇인지, 다양한 명령을 사용하여 Kubernetes에서 모든 스토리지 클래스를 얻는 방법을 이해할 수 있도록 교육하는 것입니다. Kubernetes 스토리지 클래스에 대한 더 흥미로운 정보를 효율적으로 배울 준비를 하십시오.

Kubernetes 스토리지 클래스란 무엇입니까?

Kubernetes에는 마스터 노드와 작업자 노드라는 두 개의 노드가 있습니다. Kubernetes 서버 런타임의 상태는 마스터 노드에 의해 유지됩니다. 모든 클라이언트 노드는 마스터 노드를 사용하여 호출 시 Kubernetes 컨테이너를 구성하고 관리합니다. 마스터 노드는 API 서버, 스케줄러, 레지스트리 및 저장소와 같은 다양한 구성 요소로 제조됩니다.

Kubernetes 저장소 클래스는 저장소 Kubernetes 구성 요소에 포함되어 있습니다. Kubernetes 스토리지 클래스는 Kubernetes 클러스터에서 동적으로 PV(영구 볼륨)를 프로비저닝할 수 있는 메커니즘입니다. Kubernetes Storage는 관리자가 정의하는 다양한 클래스로 나뉘며 우리는 이러한 클래스를 포드에서 다양한 용도로 사용합니다. 스토리지 클래스는 Kubernetes에서 스토리지 구성 요소의 속성을 지정할 수도 있습니다. 이러한 속성은 속도, 파일 시스템 유형, 서비스 품질 수준, 백업 등입니다.







이제 몇 가지 실행된 명령의 도움을 받아 이 주제를 더 잘 이해해 봅시다.



전제 조건:

최신 버전의 Linux 및 Ubuntu가 시스템에 설치되어 있는지 확인하십시오. Kubernetes가 시스템에 설치됩니다. Linux 및 Kubernetes에서 작업하는 방법과 Kubernetes와 관련된 라이브러리를 Linux에 설치하는 방법에 대한 아이디어가 있어야 합니다. Windows를 사용하는 경우 Virtual Box를 설치하고 가상 머신을 생성한 다음 시스템에서 가상으로 Linux를 실행하십시오. Linux에서 사용되는 kubectl 명령줄에 대한 정보가 있어야 합니다.



Kubernetes 스토리지 클래스를 사용하는 방법

제공하는 스토리지의 '클래스'를 평가하기 위해 Kubernetes 관리자는 스토리지 클래스를 사용할 수 있습니다. Kubernetes 스토리지 클래스는 다양한 유형의 스토리지 유형을 정의하는 데 사용되며 이러한 스토리지 클래스 유형을 통해 다양한 최종 사용자가 각자의 작업 요구에 맞는 특정 스토리지 클래스 유형을 요청할 수 있습니다. 다음 세션에서는 쿠버네티스에서 스토리지 클래스를 사용하는 전 과정을 이해를 돕기 위해 첨부된 관련 예제 스크린샷을 통해 설명한다. 전체 주제를 여러 단계로 설명합니다.





1단계: 로컬 Kubernetes 머신 시작

처음에는 더 많은 포드를 생성하고 작업을 수행하는 로컬 Kubernetes 클러스터를 시작하는 명령을 실행합니다. Kubernetes에서 minikube는 컨테이너 또는 포드와 관련된 로컬 프로세스 처리에 사용됩니다. 다음 명령을 입력합니다.

> 미니큐브 시작



명령을 실행하면 이전에 첨부한 스크린샷 결과가 나타납니다. 이를 통해 Minikube 컨테이너가 Kubernetes에서 성공적으로 생성되고 작업을 쉽게 수행할 수 있음을 확신할 수 있습니다. minikube 초기화와 관련된 이전 정보를 주의 깊게 읽으십시오.

2단계: 스토리지 클래스가 기본적으로 시스템에 설치되어 있는지 확인

이 단계에서는 미리 정의된 스토리지 클래스 또는 기본 스토리지 클래스가 시스템에 설치되어 있는지 확인하는 방법을 알아봅니다. 확인을 위해 다음 명령을 실행합니다.

> kubectl get sc

kubectl의 도움으로 명령에서 스토리지 클래스를 얻습니다. sc는 스토리지 클래스를 나타냅니다. 더 나은 이해를 위해 명령의 스크린샷과 수락된 결과가 이 단계에 첨부되어 있습니다.

보시다시피 이 명령은 Name, Provisioner, Reclaim Policy, volumebindingmode, AllowVolumeExpansion, Age 등 정확한 데이터와 함께 다양한 매개변수를 반환합니다. 스토리지 클래스에 집중했기 때문에 하나의 이름만 생각해냈습니다. 스토리지 클래스의 이름은 '기본 상태의 표준'입니다. 기본 상태는 이 스토리지 클래스에 사전 정의된 값 또는 기본값이 있음을 보여줍니다.

3단계: 표준 스토리지 클래스에 대한 설명

이 단계에서는 Kubernetes의 기본 스토리지 클래스에 대해 설명합니다. 표준은 항상 기본 스토리지 클래스입니다. 사용자의 PVC 사양이 없는 경우 이 스토리지 클래스는 PV를 제공하기 위해 배포됩니다. 이제 스토리지 유형에 대한 세부 정보를 확인하십시오. 다음 명령을 실행합니다.

> kubectl describe storageclass 표준

이 명령을 실행한 후 첨부된 다음 스크린샷에서 볼 수 있듯이 표준 스토리지 유형에 대한 세부 정보가 나타납니다.

  자동으로 생성된 텍스트 설명

앞의 스크린샷에 있는 명령의 출력은 매개변수가 다르고 이것이 기본 스토리지 클래스임을 나타냅니다.

4단계: Kubernetes의 스토리지 클래스 목록

마지막 단계에서는 스토리지 클래스 목록을 다시 가져와 시스템에서 실행 중인 스토리지 클래스 유형 수를 알 수 있습니다. 동일한 명령을 다시 실행하여 시스템의 모든 스토리지 클래스를 표시합니다. 다음 명령을 실행합니다.

> kubectl 스토리지 클래스 가져오기

이 명령을 실행하면 스토리지 클래스 목록이 나타납니다. 다음 스크린샷에서 표준 스토리지 클래스를 얻습니다. 이 스토리지 유형의 프로비저너는 'k8s.io/minikube-hostpath', ReclaimPolicy는 'Delete', VolumeBindingMode는 'Immediate', AllowVolumeexpansion은 'false', 이 스토리지 클래스의 수명은 '110d'입니다. 이 명령은 이러한 유형의 스토리지 클래스 데이터를 제공합니다.

필요에 따라 스토리지 클래스 유형을 삭제하고 변경할 수도 있습니다. 쿠버네티스는 우리 작업의 효율성을 향상시키기 위해 이 모든 것을 위한 시설을 제공합니다.

결론

여기에서 우리는 StorageClass 기능이 모든 노드에 스토리지 클래스 유형이 있고 모든 사용자가 작업을 쉽게 수행할 수 있기 때문에 모든 사용자의 삶을 더 쉽게 만든다고 결론을 내립니다. 스토리지 클래스와 사용 방법에 대해 자세히 설명했습니다. 스토리지 클래스 유형에 대해서도 논의했습니다. 스토리지 클래스의 유형은 다릅니다. 이 Kubernetes 프레임워크는 사용자가 작업 부하에 따라 스토리지 클래스 유형을 삭제하고 변경할 수 있는 이러한 유형의 기능을 제공합니다. 더 나은 이해를 위해 시스템에서 이러한 명령을 연습할 수 있습니다.