從 Google Kubernetes Engine 叢集存取檔案共用

透過本主題可以瞭解如何藉由建立永久磁碟區與永久磁碟區要求,從 GKE 叢集存取 Cloud Filestore 檔案共用。

叢集必須位於與 Cloud Filestore 執行個體相同的 Google Cloud Platform 專案和虛擬私人雲端網路中。

建立永久磁碟區

  1. 執行下列指令,以安裝 kubectl 指令列工具:

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

    其中 [CLUSTER_NAME] 是叢集的名稱。

  2. 建立 Kubernetes 永久磁碟區規格。這是一個 .yaml 檔案,提供有關如何存取 Cloud Filestore 檔案共用區的資訊。規格看起來與下列範例類似:

    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 永久磁碟區要求規格。這是一個 .yaml 檔案,允許 Kubernetes Pod 存取永久磁碟區的儲存空間資源。規格看起來與下列範例類似:

    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 Pod。這個規格是說明物件的一個 .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] 是容器的名稱,如容器一文中所述。
    • [IMAGE_NAME] 是 Docker 映像檔名稱,如容器一文中所述。
    • [MOUNT_PATH] 是掛接永久磁碟區要求的目標路徑,例如 /mnt/fileserver
    • [CLAIM_NAME] 是所部署永久磁碟區要求的名稱。在這個範例中為 fileserver-claim

    如要進一步瞭解其他設定,請參閱 Pod 一文。

  2. 執行下列指令,以部署 Pod 規格:

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

後續步驟

取得 Cloud Filestore 執行個體相關資訊

本頁內容對您是否有任何幫助?請提供意見:

傳送您對下列選項的寶貴意見...

這個網頁
Cloud Filestore 說明文件