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

영구 볼륨 및 영구 볼륨 신청을 만들어 GKE 클러스터에서 Cloud Filestore 파일 공유에 액세스하는 방법에 대해 알아봅니다.

클러스터는 Cloud Filestore 인스턴스와 동일한 Google Cloud Platform 프로젝트 및 VPC 네트워크에 있어야 합니다.

영구 볼륨 만들기

  1. 다음 명령어를 실행하여 kubectl 명령줄 도구를 설치합니다.

    gcloud components install kubectl
    gcloud container clusters get-credentials [CLUSTER_NAME]

    여기서 [CLUSTER_NAME]은 클러스터의 이름입니다.

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

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: fileserver
    spec:
      capacity:
        storage: [STORAGE]
      accessModes:
      - ReadWriteMany
      nfs:
        path: /[FILESHARE]
        server: [IP_ADDRESS]
    

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

    • [STORAGE]는 Cloud Filestore 인스턴스의 파일 공유 크기입니다. [STORAGE] 값은 리소스 수량에 설명된 지원되는 단위 중 하나로 지정해야 합니다(예: 2T).
    • [FILESHARE]는 Cloud Filestore 인스턴스의 파일 공유 이름입니다. 다음 소스에서 인스턴스의 파일 공유 이름을 확인할 수 있습니다.
    • [IP_ADDRESS]는 Cloud Filestore 인스턴스의 IP 주소입니다. 다음 소스에서 인스턴스의 IP 주소를 확인할 수 있습니다.

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

  3. 다음 명령어를 실행하여 영구 볼륨 사양을 배포합니다.

    kubectl create -f /path/to/[PERSISTENT_VOLUME_FILE_NAME].yaml

영구 볼륨 신청 만들기

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

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

    여기서 [STORAGE]는 Kubernetes 객체에서 사용 가능하도록 할 영구 볼륨 신청의 크기입니다. [STORAGE] 값은 리소스 수량에 설명된 지원되는 단위 중 하나로 지정해야 합니다. 지정하는 값은 영구 볼륨에 지정한 저장소보다 작거나 같아야 합니다.

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

  2. 다음 명령어를 실행하여 영구 볼륨 신청 사양을 배포합니다.

    kubectl create -f /path/to/[PERSISTENT_VOLUME_CLAIM_FILE_NAME].yaml

영구 볼륨 신청 소비

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

    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]컨테이너에 설명된 대로 컨테이너의 이름입니다.
    • [IMAGE_NAME]컨테이너에 설명된 대로 Docker 이미지 이름입니다.
    • [MOUNT_PATH]는 영구 볼륨 신청을 마운트할 경로입니다(예: /mnt/fileserver).
    • [CLAIM_NAME]은 배포되는 영구 값 신청의 이름입니다. 이 예에서는 fileserver-claim입니다.

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

  2. 다음 명령어를 실행하여 포드 사양을 배포합니다.

    kubectl create -f /path/to/[POD_FILE_NAME].yaml

다음 단계

Cloud Filestore 인스턴스에 대한 정보를 가져옵니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

Cloud Filestore 문서