이 주제에서는 클러스터에 컨테이너 스토리지 인터페이스(CSI) 스토리지 드라이버를 설치하는 방법을 설명합니다.
개요
기본적으로 GKE on AWS는 기본 StorageClass를 사용하여 AWS EBS 볼륨을 프로비저닝합니다. 워크로드에 다른 유형의 스토리지 볼륨을 사용해야 하는 경우 호환되는 CSI 드라이버를 설치하여 액세스 권한을 제공할 수 있습니다.
Container Storage Interface
(CSI)는 Kubernetes 워크로드에 규정 준수 스토리지 시스템에 대한 액세스 권한을 제공하는 개방형 표준 API입니다. 또한 CSI를 사용하면 크기 조절 및 스냅샷과 같은 최신 스토리지 기능을 사용할 수 있습니다.
CSI 드라이버를 설치한 후에는 Kubernetes StorageClass를 만들어야 합니다. CSI 드라이버를 StorageClass의 프로비저닝 도구로 설정합니다. 그런 다음 StorageClass를 기본값으로 설정하거나 StorageClass를 사용하도록 워크로드를 구성할 수 있습니다. 커스텀 StorageClass를 사용하여 StatefulSet를 만드는 방법의 예시는 워크로드에 StorageClass 사용을 참조하세요.
공급업체의 CSI 드라이버 설치
스토리지 공급업체는 CSI 드라이버에 대한 설치 안내를 제공해야 합니다. CSI 문서의 CSI 드라이버 목록을 참조하세요.
CSI 드라이버의 설치 안내를 따른 후 이 페이지의 다음 단계를 진행합니다.
드라이버 설치 확인
CSI 드라이버를 설치한 후에는 다음 명령어를 실행하여 설치를 확인할 수 있습니다.
kubectl get csinodes \
-o jsonpath='{range .items[*]} {.metadata.name}{": "} {range .spec.drivers[*]} {.name}{"\n"} {end}{end}'
CSI 드라이버 사용 방법
CSI 드라이버를 사용하려면 다음 단계를 따르세요.
provisioner
필드에서 드라이버를 참조하는 커스텀 StorageClass를 만듭니다.스토리지를 프로비저닝하려면 다음 중 하나를 수행합니다.
- StatefulSet의
volumeClaimTemplates
사양에서 StorageClass를 참조합니다. - 클러스터의 기본 StorageClass로 설정합니다.
- StatefulSet의
CSI 드라이버에서 지원하는 StorageClass 고려사항
StorageClass를 만들 때 다음 사항을 고려하세요.
CSI 드라이버 문서에서 프로비저닝 도구 이름을 포함하여 StorageClass에 제공하는 드라이버 관련 매개변수를 확인합니다.
특정 드라이버 또는 어플라이언스 이름 뒤가 아닌 속성(예:
fast
또는highly-replicated
) 뒤에 StorageClass의 이름을 지정해야 합니다. 속성 뒤에 StorageClass 이름을 지정하면 서로 다른 클러스터와 환경에서 같은 이름으로 StorageClass를 만들 수 있습니다. 그런 다음 동일한 StorageClass를 사용하도록 워크로드를 구성합니다.
다음 단계
- CSI 드라이버를 참조하는 StorageClass 만들기