이 주제에서는 클러스터에 컨테이너 스토리지 인터페이스(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 드라이버 문서에서 프로비저닝 도구 이름을 포함하여 StorageClass에 제공하는 드라이버 관련 매개변수를 확인합니다.
특정 드라이버 또는 어플라이언스 이름 뒤가 아닌 속성(예: fast 또는 highly-replicated) 뒤에 StorageClass의 이름을 지정해야 합니다. 속성 뒤에 StorageClass 이름을 지정하면 서로 다른 클러스터와 환경에서 같은 이름으로 StorageClass를 만들 수 있습니다. 그런 다음 동일한 StorageClass를 사용하도록 워크로드를 구성합니다.
[[["이해하기 쉬움","easyToUnderstand","thumb-up"],["문제가 해결됨","solvedMyProblem","thumb-up"],["기타","otherUp","thumb-up"]],[["이해하기 어려움","hardToUnderstand","thumb-down"],["잘못된 정보 또는 샘플 코드","incorrectInformationOrSampleCode","thumb-down"],["필요한 정보/샘플이 없음","missingTheInformationSamplesINeed","thumb-down"],["번역 문제","translationIssue","thumb-down"],["기타","otherDown","thumb-down"]],["최종 업데이트: 2024-06-28(UTC)"],[],[],null,["# Install storage drivers\n\nThis topic explains how to install a Container Storage Interface (CSI) storage\ndriver on your clusters.\n\nOverview\n--------\n\nBy default, GKE on AWS provisions AWS\n[EBS volumes](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ebs-volume-types.html)\nusing the default [StorageClass](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/concepts/storage).\nIf your workloads need use another type of storage volume, you can install a\ncompatible CSI driver to provide access to it.\n\nThe `Container Storage Interface` ([CSI](https://github.com/container-storage-interface/spec/blob/master/spec.md))\nis an open standard API that gives Kubernetes workloads access to compliant\nstorage systems. CSI also enables the use of modern storage features such as\nresizing and snapshots.\n\nAfter installing a CSI driver, you need to create a Kubernetes\n[StorageClass](https://kubernetes.io/docs/concepts/storage/storage-classes/).\nYou set the CSI driver as the provisioner for the StorageClass. Then you can\n[set the StorageClass as default](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/storage-class#set_default),\nor configure your workloads to use the StorageClass.\nFor an example of how to create a StatefulSet with a custom StorageClass,\nsee [Using StorageClasses with your workloads](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/storage-class#example_statefulset).\n\nInstall a vendor's CSI driver\n-----------------------------\n\nStorage vendors are responsible for providing installation instructions for\ntheir CSI drivers. See the list of\n[CSI drivers](https://kubernetes-csi.github.io/docs/drivers.html)\nin the CSI documentation.\n\nFollow the installation instructions for your CSI driver, and then continue with\nthe next steps on this page.\n| **Important:** Google does not provide support or instructions for third-party drivers. Contact your storage vendor for support.\n\nVerify your driver installation\n-------------------------------\n\nAfter you install a CSI driver, you can verify the installation by running\nthe following commands. \n\n kubectl get csinodes \\\n -o jsonpath='{range .items[*]} {.metadata.name}{\": \"} {range .spec.drivers[*]} {.name}{\"\\n\"} {end}{end}'\n\nHow to use a CSI driver\n-----------------------\n\nTo use a CSI driver:\n\n1. Create a custom [StorageClass](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/storage-class#custom)\n that refers to the driver in its `provisioner` field.\n\n2. To provision storage, you can either:\n\n - Reference the StorageClass in a [StatefulSet](https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/)'s `volumeClaimTemplates` specification.\n - [Set it as the cluster's default StorageClass](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/storage-class#set_default).\n\n### Considerations for StorageClass backed by a CSI driver\n\nWhen you create a StorageClass, consider the following:\n\n- Check your CSI driver documentation for\n [driver-specific parameters](https://kubernetes.io/docs/concepts/storage/storage-classes/#the-storageclass-resource)\n that you provide to your StorageClass, including the provisioner name.\n\n- You should name the StorageClass after its properties (such as `fast` or\n `highly-replicated`), rather than after the name of the specific driver or\n appliance behind it. When you name a StorageClass after its properties, you can\n create StorageClasses with the same name in different clusters and\n environments. Then configure your workloads to use the same StorageClass.\n\nWhat's next\n-----------\n\n- Create a [StorageClass](/kubernetes-engine/multi-cloud/docs/aws/previous-generation/how-to/storage-class#custom) which references the CSI driver."]]