4.3. Azure File을 사용하는 영구 스토리지
OpenShift Container Platform은 Microsoft Azure File 볼륨을 지원합니다. Azure를 사용하여 영구 스토리지로 OpenShift Container Platform 클러스터를 프로비저닝할 수 있습니다. Kubernetes 및 Azure에 대해 어느 정도 익숙한 것으로 가정합니다.
Kubernetes 영구 볼륨 프레임워크를 사용하면 관리자는 영구 스토리지로 클러스터를 프로비저닝하고 사용자가 기본 인프라에 대한 지식이 없어도 해당 리소스를 요청할 수 있습니다. Azure File 볼륨을 동적으로 프로비저닝할 수 있습니다.
영구 볼륨은 단일 프로젝트 또는 네임스페이스에 바인딩되지 않으며 OpenShift Container Platform 클러스터에서 공유할 수 있습니다. 영구 볼륨 클레임은 프로젝트 또는 네임스페이스에 고유하며 사용자가 애플리케이션에서 사용하도록 요청할 수 있습니다.
인프라의 스토리지의 고가용성은 기본 스토리지 공급자가 담당합니다.
Azure File 볼륨은 서버 메시지 블록을 사용합니다.
OpenShift Container Platform 4.13 이상에서는 동등한 CSI 드라이버로 Azure File in-tree 볼륨 플러그인에 대한 자동 마이그레이션을 제공합니다.
CSI 자동 마이그레이션이 원활해야 합니다. 마이그레이션은 영구 볼륨, 영구 볼륨 클레임 및 스토리지 클래스와 같은 기존 API 오브젝트를 사용하는 방법을 변경하지 않습니다. 마이그레이션에 대한 자세한 내용은 "CSI 자동 마이그레이션"을 참조하십시오.
추가 리소스
4.3.1. Azure File 공유 영구 볼륨 클레임 생성 링크 복사링크가 클립보드에 복사되었습니다!
영구 볼륨 클레임을 생성하려면 먼저 Azure 계정 및 키가 포함된 Secret 오브젝트를 정의해야 합니다. 이 시크릿은 PersistentVolume 정의에 사용되며 애플리케이션에서 사용하기 위해 영구 볼륨 클레임에 의해 참조됩니다.
사전 요구 사항
- Azure File 공유가 있습니다.
- 이 공유에 액세스할 수 있는 인증 정보(특히 스토리지 계정 및 키)를 사용할 수 있습니다.
절차
Azure File 인증 정보가 포함된
Secret오브젝트를 생성합니다.$ oc create secret generic __<secret-name>__ --from-literal=azurestorageaccountname=__<storage-account> --from-literal=azurestorageaccountkey=__<storage-account-key>다음과 같습니다.
<secret-name>- Azure File 스토리지 계정 이름을 지정합니다.
<storage-account-key>- Azure File 스토리지 계정 키를 지정합니다.
생성한
Secret오브젝트를 참조하는PersistentVolume오브젝트를 생성합니다.apiVersion: "v1" kind: "PersistentVolume" metadata: name: "pv0001" spec: capacity: storage: "5Gi" accessModes: - "ReadWriteOnce" storageClassName: azure-file-sc azureFile: secretName: <secret-name> shareName: <share-name> readOnly: false다음과 같습니다.
metadata.name- 영구 볼륨의 이름을 지정합니다.
spec.capacity.storage-
이 영구 볼륨의 크기를 지정합니다(예:
5Gi). spec.azureFile.secretName- Azure File에서 인증 정보를 공유하는 시크릿의 이름을 지정합니다.
spec.azureFile.shareName- Azure File 공유의 이름을 지정합니다.
생성한 영구 볼륨에 매핑되는
PersistentVolumeClaim오브젝트를 생성합니다.apiVersion: "v1" kind: "PersistentVolumeClaim" metadata: name: "claim1" spec: accessModes: - "ReadWriteOnce" resources: requests: storage: "5Gi" storageClassName: azure-file-sc volumeName: "pv0001"다음과 같습니다.
metadata.name- 영구 볼륨 클레임의 이름을 지정합니다.
spec.resources.requests.storage-
이 영구 볼륨 클레임의 크기를 지정합니다(예:
5Gi). spec.storageClassName-
Azure File 공유를 참조하는 기존
PersistentVolume오브젝트의 이름을 지정합니다.PersistentVolume정의에 사용되는 스토리지 클래스를 지정합니다. spec.volumeName-
Azure File 공유를 참조하는 기존
PersistentVolume오브젝트의 이름을 지정합니다.