Google Kubernetes Engine 클러스터에서 파일 공유에 액세스

이 페이지에서는 영구 볼륨 및 영구 볼륨 신청을 만들어 GKE 클러스터에서 Filestore 파일 공유에 액세스하는 방법을 설명합니다.

Filestore 인스턴스가 공유 VPC 네트워크에 있는 경우가 아니면 클러스터는 Filestore 인스턴스와 동일한 Google Cloud 프로젝트 및 VPC 네트워크에 있어야 합니다. 현재 Filestore 인스턴스는 호스트 프로젝트의 공유 VPC 네트워크에만 만들 수 있습니다. 자세한 내용은 알려진 문제를 참조하세요.

영구 볼륨 만들기

  1. kubectl 명령줄 도구를 설치합니다.

    gcloud components install kubectl &&
    gcloud container clusters get-credentials cluster-name
    

    여기서 cluster-name은 클러스터 이름입니다.

  2. Kubernetes 영구 볼륨 사양을 만듭니다. 이 파일은 Filestore 파일 공유 액세스 방법에 대한 정보를 제공하는 .yaml 파일입니다. 사양의 형식은 다음 예와 비슷합니다.

    apiVersion: v1
    kind: PersistentVolume
    metadata:
     name: fileserver
    spec:
     capacity:
       storage: storage
     accessModes:
     - ReadWriteMany
     nfs:
       path: /file-share
       server: ip-address
    

    각 항목의 의미는 다음과 같습니다.

    • storage는 Filestore 인스턴스의 파일 공유 크기입니다. 2T와 같이 리소스 수량에 설명된 지원되는 단위 중 하나에 storage 값을 지정해야 합니다.
    • file-share는 Filestore 인스턴스의 파일 공유 이름입니다. 다음 소스에서 인스턴스의 파일 공유 이름을 확인할 수 있습니다.

      • Cloud Console의 Filestore 인스턴스 페이지

      Filestore 인스턴스 페이지로 이동

    • ip-address는 Filestore 인스턴스의 IP 주소입니다. 다음 소스에서 인스턴스의 IP 주소를 확인할 수 있습니다.

    다른 설정에 대한 자세한 내용은 영구 볼륨을 참조하세요.

  3. 영구 볼륨 사양을 배포합니다.

    kubectl create -f /path/to/persistent-volume-file-name.yaml
    

    여기서 persistent-volume-file-name은 이전 단계에서 만든 Kubernetes 영구 볼륨 사양 파일의 이름입니다.

영구 볼륨 신청 만들기

  1. Kubernetes 영구 볼륨 신청 사양을 만듭니다. 이는 Kubernetes 포드가 영구 볼륨의 저장소 리소스에 액세스할 수 있도록 만드는 .yaml 파일입니다. 사양의 형식은 다음 예와 비슷합니다.

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
     name: fileserver-claim
    spec:
     accessModes:
     - ReadWriteMany
     storageClassName: ""
     volumeName: fileserver
     resources:
       requests:
         storage: storage
    

    여기서 storage는 Kubernetes 객체에서 사용 가능하도록 할 영구 볼륨 신청의 크기입니다.

    storage 값은 리소스 수량에 설명된 지원되는 단위 중 하나로 지정해야 합니다. 지정하는 값은 영구 볼륨에 지정한 저장소보다 작거나 같아야 합니다.

    다른 설정에 대한 자세한 내용은 영구 볼륨 신청을 참조하세요.

  2. 영구 볼륨 신청 사양을 배포합니다.

    kubectl create -f /path/to/persistent-volume-claim-file-name.yaml
    

    여기서 persistent-volume-file-name은 이전 단계에서 만든 Kubernetes 영구 볼륨 사양 파일의 이름입니다.

영구 볼륨 신청 소비

  1. Kubernetes pod와 같이 영구 볼륨 신청을 사용하는 Kubernetes 객체의 사양을 만듭니다. 이 사양은 객체를 설명하는 .yaml 파일로, 객체가 사용할 수 있는 스토리지 리소스에 대한 정보를 포함합니다. pod 사양의 형식은 다음 예시와 비슷합니다.

    apiVersion: v1
    kind: Pod
    metadata:
     name: my-pod
    spec:
     containers:
     - name: container-name
       image: image-name
       volumeMounts:
       - mountPath: mount-path
         name: mypvc
     volumes:
     - name: mypvc
       persistentVolumeClaim:
         claimName: claim-name
         readOnly: false
    

    각 항목의 의미는 다음과 같습니다.

    • container-name은 pod에 있는 컨테이너의 이름입니다.
    • image-name은 컨테이너가 실행되는 Docker 이미지의 태그입니다.
    • mount-path는 영구 볼륨 신청을 마운트할 경로(예: /mnt/fileserver)입니다.
    • claim-name은 배포된 영구 값 신청의 이름입니다. 이 예시에서는 fileserver-claim입니다.

    다른 설정에 대한 자세한 내용은 pod를 참조하세요.

  2. pod 사양을 배포합니다.

    kubectl create -f /path/to/pod-file-name.yaml
    

    여기서 pod-file-name은 이전 단계에서 만든 pod 사양의 이름입니다.

다음 단계

Filestore 인스턴스에 대한 정보 가져오기