Filestore CSI 驅動程式是您使用 Filestore 執行個體與 Google Kubernetes Engine (GKE) 的主要方式。Filestore CSI 驅動程式提供全代管體驗,並由開放原始碼 Google Cloud Filestore CSI 驅動程式提供支援。
Filestore CSI 驅動程式版本與 Kubernetes 子版本號碼相關聯。Filestore CSI 驅動程式版本通常是 Kubernetes 次要版本發布時可用的最新驅動程式。當叢集升級至最新的 GKE 修補程式時,驅動程式會自動更新。
優點
Filestore CSI 驅動程式具備下列優點:
您可以透過 Kubernetes API (
kubectl
) 存取全代管型 NFS 儲存空間。您可以使用 GKE Filestore CSI 驅動程式,動態佈建 PersistentVolume。
您可以搭配使用磁碟區快照和 GKE Filestore CSI 驅動程式。CSI 磁碟區快照可用來建立 Filestore 備份。
Filestore 備份會建立檔案共用區的差異副本 (包括所有檔案資料和中繼資料),並將其儲存在與執行個體不同的位置。您只能將這個副本還原至新的 Filestore 執行個體。系統不支援將備份還原至現有的 Filestore 執行個體。您可以在 Volume Snapshot 類別中新增
type:backup
欄位,使用 CSI Volume Snapshot API 觸發 Filestore 備份。您可以搭配 GKE Filestore CSI 驅動程式使用磁碟區擴充功能。磁碟區擴充功能可讓您調整磁碟區的容量大小。
您可以在 Kubernetes 工作負載中使用預先配置的 Filestore 執行個體,存取現有的 Filestore 執行個體。您也可以動態建立或刪除 Filestore 執行個體,並透過 StorageClass 或部署,在 Kubernetes 工作負載中使用這些執行個體。
支援 GKE 適用的 Filestore 多共用區。這項功能可讓您建立 Filestore 執行個體,並同時為其在任意數量的 GKE 叢集中分配多個較小的 NFS 掛接 PersistentVolume。
支援基本 HDD 層級,容量至少為 100 GiB。
需求條件
如要使用 Filestore CSI 驅動程式,叢集必須使用適用於服務層級的正確 GKE 版本號碼。僅支援下列服務等級:
- 基本 HDD (適用於 GKE 1.21 以上版本)
- 基本傳統硬碟 (100 GiB 至 63.9 TiB),適用於 GKE 1.33 以上版本
- 搭配 GKE 1.21 以上版本的基本 SSD
- 區域 (1 TiB 至 9.75 TiB),搭配 GKE 1.31 以上版本
- 使用 GKE 1.27 以上版本的可用區 (10 TiB 至 100 TiB)
- 使用 GKE 1.25 以上版本的企業
- 如要使用 Filestore 多份功能,您的叢集必須使用 GKE 1.25 以上版本。
Filestore CSI 驅動程式僅支援使用 Linux 的叢集,不支援 Windows Server 節點。
執行個體大小下限取決於您選取的 Filestore 服務級別:
- 基本 HDD 至少為 100 GiB
- 其他 Filestore 級別至少為 1 TiB
詳情請參閱「服務等級」。
Filestore 預設會在 Filestore 執行個體上使用 NFSv3 檔案系統通訊協定,並支援任何 NFSv3 相容用戶端。
GKE 1.33 以上版本支援 Filestore 執行個體上的 NFSv4.1 檔案系統通訊協定。
事前準備
開始之前,請務必完成下列工作:
- 啟用 Cloud Filestore API 和 Google Kubernetes Engine API。 啟用 API
- 如果您想使用 Google Cloud CLI 執行此項作業,請先安裝,然後初始化 gcloud CLI。如果您先前已安裝 gcloud CLI,請執行
gcloud components update
取得最新版本。
- 如果要在共用虛擬私有雲網路上使用 Filestore,請參閱「在共用虛擬私有雲中使用 Filestore」一文中的其他設定說明。
在新叢集上啟用 Filestore CSI 驅動程式
如要在建立新的標準叢集時啟用 Filestore CSI 驅動程式,請按照下列步驟使用 Google Cloud CLI 或 Google Cloud 主控台。
gcloud
gcloud container clusters create CLUSTER_NAME \
--addons=GcpFilestoreCsiDriver \
--cluster-version=VERSION
更改下列內容:
CLUSTER_NAME
:叢集名稱。VERSION
:GKE 版本號碼。您必須選取支援的版本號碼,才能使用這項功能。詳情請參閱 [#requirements]。或者,您也可以使用--release-channel
旗標並指定發布版本管道。
控制台
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
按一下 add_box「Create」(建立)。
選擇「Standard」叢集模式,然後按一下「Configure」。
視需求設定叢集。
在導覽窗格的「Cluster」(叢集) 底下,按一下「Features」(功能)。
勾選「Enable Filestore CSI driver」(啟用 Filestore CSI 驅動程式) 核取方塊。
按一下 [建立]。
如要在共用虛擬私有雲網路中使用 Filestore,請參閱「在共用虛擬私有雲的全新叢集上啟用 Filestore CSI 驅動程式」。
啟用 Filestore CSI 驅動程式後,您就可以使用驅動程式和佈建工具名稱 filestore.csi.storage.gke.io
,在 Kubernetes 磁碟區中使用驅動程式。
在現有叢集上啟用 Filestore CSI 驅動程式
如要在現有叢集中啟用 Filestore CSI 驅動程式,請使用 Google Cloud CLI 或 Google Cloud 主控台。
如要在現有叢集中啟用此驅動程式,請完成下列步驟:
gcloud
gcloud container clusters update CLUSTER_NAME \
--update-addons=GcpFilestoreCsiDriver=ENABLED
將 CLUSTER_NAME
替換為現有叢集的名稱。
控制台
前往 Google Cloud 控制台的「Google Kubernetes Engine」頁面。
在叢集清單中,按一下您要修改的叢集名稱。
在「功能」下方,點選「Filestore CSI 驅動程式」欄位旁的 edit「編輯 Filestore CSI 驅動程式」。
勾選「Enable Filestore CSI driver」(啟用 Filestore CSI 驅動程式) 核取方塊。
按一下 [儲存變更]。
停用 Filestore CSI 驅動程式
您可以使用 Google Cloud CLI 或 Google Cloud 主控台,在現有的 Autopilot 或標準叢集中停用 Filestore CSI 驅動程式。
gcloud
gcloud container clusters update CLUSTER_NAME \
--update-addons=GcpFilestoreCsiDriver=DISABLED \
--region REGION
替換下列值:
CLUSTER_NAME
:現有叢集的名稱。REGION
:叢集的區域 (例如us-central1
)。
控制台
在 Google Cloud 控制台中,前往「Google Kubernetes Engine」選單。
在叢集清單中,按一下您要修改的叢集名稱。
在「功能」下方,點選「Filestore CSI 驅動程式」欄位旁的 edit「編輯 Filestore CSI 驅動程式」。
取消勾選「Enable Filestore CSI driver」核取方塊。
按一下 [儲存變更]。
使用 Filestore CSI 驅動程式存取先前建立的 Filestore 執行個體
本節說明在 GKE 中使用 Filestore CSI 驅動程式,透過 Kubernetes 磁碟區存取既有 Filestore 執行個體的一般程序:
建立 PersistentVolume 和 PersistentVolumeClaim 以存取執行個體
建立如以下範例所示的資訊清單檔案,並將其命名為
preprov-filestore.yaml
:apiVersion: v1 kind: PersistentVolume metadata: name: PV_NAME spec: storageClassName: "" capacity: storage: 1Ti accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain volumeMode: Filesystem csi: driver: filestore.csi.storage.gke.io volumeHandle: "modeInstance/FILESTORE_INSTANCE_LOCATION/FILESTORE_INSTANCE_NAME/FILESTORE_SHARE_NAME" volumeAttributes: ip: FILESTORE_INSTANCE_IP volume: FILESTORE_SHARE_NAME protocol: FILESYSTEM_PROTOCOL claimRef: name: PVC_NAME namespace: NAMESPACE --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: PVC_NAME namespace: NAMESPACE spec: accessModes: - ReadWriteMany storageClassName: "" resources: requests: storage: 1Ti
如要根據
preprov-filestore.yaml
資訊清單檔案建立PersistentVolumeClaim
和PersistentVolume
資源,請執行下列指令:kubectl apply -f preprov-filestore.yaml
如要指定 NFSv4.1 檔案系統通訊協定,請在 PersistentVolume
物件的 volumeAttributes
欄位中,將 protocol
欄位設為 NFS_V4_1
。如要使用 NFSv3 檔案系統通訊協定,請將 protocol
欄位設為 NFS_V3
,或省略 protocol
欄位。
接著,請繼續建立會使用磁碟區的部署作業。
使用 Filestore CSI 驅動程式建立磁碟區
以下各節將說明在 GKE 中使用由 Filestore CSI 驅動程式支援的 Kubernetes 磁碟區的一般程序:
建立 StorageClass
啟用 Filestore CSI 驅動程式後,GKE 會自動安裝下列 StorageClasses,用於佈建 Filestore 執行個體:
zonal-rwx
,使用Filestore 區域級別。enterprise-rwx
,使用 Filestore 企業級,其中每個 Kubernetes 永久磁碟區都會對應至 Filestore 執行個體。enterprise-multishare-rwx
,使用 Filestore 企業級,其中每個 Kubernetes 永久磁碟區都會對應至特定 Filestore 例項的共用區。如需瞭解詳情,請參閱「Google Kubernetes Engine 的 Filestore 多重共用功能」。standard-rwx
,使用 Filestore 基本傳統硬碟服務級別。premium-rwx
,使用 Filestore 基本 SSD 服務級別。
每個 StorageClass 僅適用於在相應支援的 GKE 版本號碼中執行的 GKE 叢集。如需各服務層級所需的支援版本清單,請參閱「規定」。
您可以執行下列指令,查看已安裝的 StorageClass
名稱:
kubectl get sc
您也可以在 provisioner
欄位中新增 filestore.csi.storage.gke.io
,安裝使用 Filestore CSI 驅動程式的其他 StorageClass
。
Filestore 需要知道要在哪個網路上建立新的例項。自動安裝的 StorageClass 會使用為 GKE 叢集建立的預設網路。如果您已刪除這個網路,或想使用其他網路,就必須按照下列步驟建立新的 StorageClass。否則,自動安裝的 StorageClasses 將無法運作。
將下列資訊清單儲存為
filestore-example-class.yaml
:apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: filestore-example provisioner: filestore.csi.storage.gke.io volumeBindingMode: Immediate allowVolumeExpansion: true parameters: tier: standard network: default
請參考以下資訊,在資訊清單中設定參數:
- 將
volumeBindingMode
設為Immediate
可讓系統立即開始佈建磁碟區。這是因為 Filestore 執行個體可從任何區域存取。因此,GKE 不需要知道 Pod 的調度區域,這與 Compute Engine 永久磁碟不同。設定為WaitForFirstConsumer
時,GKE 只會在 Pod 排程後開始佈建。詳情請參閱 VolumeBindingMode。 - 您可以在
tier
參數中指定任何支援的 Filestore 級別 (例如BASIC_HDD
、BASIC_SSD
、ZONAL
或ENTERPRISE
)。 - 在非預設 VPC 上佈建 Filestore 執行個體時,可以使用
network
參數。非預設 VPC 需要設定特殊防火牆規則。 protocol
參數可用於設定 Filestore 執行個體的檔案系統通訊協定。可接受的值為NFS_V3
(預設) 和NFS_V4_1
。預設通訊協定為NFS_V3
。
- 將
如要根據
filestore-example-class.yaml
資訊清單檔案建立StorageClass
資源,請執行下列指令:kubectl create -f filestore-example-class.yaml
如果您想在共用虛擬私有雲網路上使用 Filestore,請參閱「在共用虛擬私有雲中使用 Filestore CSI 驅動程式時建立 StorageClass」。
使用 PersistentVolumeClaim 存取磁碟區
您可以建立參照 Filestore CSI 驅動程式 StorageClass
的 PersistentVolumeClaim
資源。
您可以使用預先安裝或自訂的 StorageClass
。
以下範例資訊清單檔案會建立參照名為 filestore-example
的 StorageClass
的 PersistentVolumeClaim
。
將下列資訊清單檔案儲存為
pvc-example.yaml
:kind: PersistentVolumeClaim apiVersion: v1 metadata: name: podpvc spec: accessModes: - ReadWriteMany storageClassName: filestore-example resources: requests: storage: 1Ti
如要根據
pvc-example.yaml
資訊清單檔案建立PersistentVolumeClaim
資源,請執行下列指令:kubectl create -f pvc-example.yaml
建立會使用磁碟區的部署
以下是使用名為 pvc-example.yaml
的 PersistentVolume
資源的部署資訊清單範例。
多個 Pod 可以共用同一個 PersistentVolumeClaim
資源。
將下列資訊清單儲存為
filestore-example-deployment.yaml
:apiVersion: apps/v1 kind: Deployment metadata: name: web-server-deployment labels: app: nginx spec: replicas: 3 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx volumeMounts: - mountPath: /usr/share/nginx/html name: mypvc volumes: - name: mypvc persistentVolumeClaim: claimName: podpvc --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: podpvc spec: accessModes: - ReadWriteMany storageClassName: filestore-example resources: requests: storage: 1Ti
如要根據
filestore-example-deployment.yaml
資訊清單檔案建立 Deployment,請執行下列指令:kubectl apply -f filestore-example-deployment.yaml
確認 Deployment 已成功建立:
kubectl get deployment
Filestore 執行個體可能需要一段時間才能完成佈建。在此之前,部署作業不會回報
READY
狀態。您可以執行下列指令,監控 PVC 狀態,以便查看進度:kubectl get pvc
儲存空間配置完成後,您應該會看到 PVC 達到
BOUND
狀態。
為 Filestore 執行個體加上標籤
您可以使用標籤將相關的執行個體分組,並儲存有關執行個體的中繼資料。標籤是鍵/值組合,可協助您整理 Filestore 執行個體。您可以為每項資源加上標籤,並根據標籤篩選資源。
您可以使用 StorageClass.parameters
中的 labels
鍵提供標籤。您可以為 Filestore 執行個體加上標籤,說明該執行個體是為了哪個 PersistentVolumeClaim
/PersistentVolume
而建立。自訂標籤鍵值必須遵守標籤命名慣例。請參閱 Kubernetes 儲存空間級別範例,瞭解如何將自訂標籤套用至 Filestore 執行個體。
搭配 Filestore 使用 NFSv4.1 檔案系統通訊協定
Filestore CSI 驅動程式支援 NFSv4.1 檔案系統通訊協定,且必須搭配 GKE 1.33 以上版本。如果是靜態佈建,請在 PersistentVolume
物件的 volumeAttributes
欄位中,將 protocol
欄位設為 NFS_V4_1
。
如要進行動態佈建,請在 StorageClass
物件的參數中將 protocol
欄位設為 NFS_V4_1
。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: enterprise-multishare-rwx
provisioner: filestore.csi.storage.gke.io
parameters:
tier: enterprise
multishare: "true"
instance-storageclass-label: "enterprise-multishare-rwx"
protocol: NFS_V4_1
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true
您無法在 StorageClass
物件中將 mountOptions
設為 nfsvers=3
,並使用 NFSv4.1
通訊協定掛接 Filestore 執行個體。
搭配使用 fsgroup 和 Filestore 磁碟區
Kubernetes 會使用 fsGroup
變更磁碟區的權限和擁有權,以便與 Pod SecurityContext 中使用者要求的 fsGroup
相符。fsGroup
是可套用至 Pod 中所有容器的輔助群組。您可以將 fsgroup 套用 至由 Filestore CSI 驅動程式佈建的磁碟區。
使用 Filestore 磁碟區設定 IP 存取規則
Filestore 支援卷宗的以 IP 為基礎的存取權控管規則。這項功能適用於執行 1.29.5 以上版本的 GKE 叢集。
這項功能可讓管理員指定哪些 IP 位址範圍可存取透過 GKE 動態佈建的 Filestore 執行個體。這項功能可限制存取權,只允許授權的用戶端存取,進而提升安全性,尤其是在 GKE 叢集的 IP 範圍過於廣泛,可能會將 Filestore 執行個體暴露給未授權使用者或應用程式時。
您可以直接透過 Filestore API 或在建立磁碟區時透過 Filestore CSI 驅動程式設定這些規則。您可以使用 nfs-export-options-on-create
參數,在 StorageClass 中以 JSON 格式提供所選設定。
以下範例清單檔案顯示如何指定設定:
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: filestore-example
provisioner: filestore.csi.storage.gke.io
volumeBindingMode: Immediate
allowVolumeExpansion: true
parameters:
tier: "enterprise"
nfs-export-options-on-create: '[
{
"accessMode": "READ_WRITE",
"ipRanges": [
"10.0.0.0/24"
],
"squashMode": "ROOT_SQUASH",
"anonUid": "1003",
"anonGid": "1003"
},
{
"accessMode": "READ_WRITE",
"ipRanges": [
"10.0.0.0/28"
],
"squashMode": "NO_ROOT_SQUASH"
}
]'
安全性選項
Filestore IP 存取規則可簡化 GKE 工作負載的共用檔案儲存空間權限設定。不過,要瞭解它如何管理檔案擁有權和存取權,必須掌握幾個重要概念:
NFS 和使用者對應 NFS (網路檔案系統) 是 Filestore 使用的通訊協定。這項功能會將用戶端系統 (您的 GKE Pod) 中的使用者,對應至 Filestore 伺服器中的使用者。如果伺服器上的檔案由使用者 ID 1003 擁有,且用戶端連線的使用者 ID 為 1003,則該用戶端就能存取該檔案。
根擠壓和
anonUid
:Root Squashing
ROOT_SQUASH
是一種安全性功能,可防止用戶端以完整的根權限存取 Filestore 執行個體。啟用 Root 權限壓縮功能後,用戶端系統中的超級使用者會對應至anonUid
設定指定的非特權使用者。無 Root 權限壓縮 (
NO_ROOT_SQUASH
) 可讓用戶端以完整的 Root 權限存取 Filestore 執行個體,這在初始設定時相當方便,但在一般作業中較不安全。
初始設定和權限:根據預設,新的 Filestore 執行個體完全由根目錄使用者擁有。如果您啟用 Root 壓縮功能,但未先為其他使用者設定權限,就會失去存取權。因此,您至少需要一個含有
NO_ROOT_SQUASH
的 NFS 匯出規則,才能為其他使用者和群組初始設定存取權。
建議
- 初始設定:請務必先設定至少一項 NFS 匯出規則,指定具有
READ_WRITE
權限的管理員範圍,並允許NO_ROOT_SQUASH
存取權。使用這項存取權建立目錄、設定權限,並視需要指派擁有權。 - 安全性:啟用根擠壓 (
ROOT_SQUASH
) 功能,提升安全性。請注意,建立磁碟區後,您只能透過 Filestore API 修改存取規則。 - 共用存取權:在Pod 安全性情境中使用
fsGroup
,即可管理共用磁碟區的群組擁有權。請確認設定不會與ROOT_SQUASH
模式重疊。這樣做會傳回Access denied
錯誤訊息。
搭配共用虛擬私有雲使用 Filestore
本節將說明如何在服務專案中,使用共用虛擬私有雲網路上的 Filestore 執行個體。
使用共用虛擬私有雲設定叢集
如要設定使用共用虛擬私有雲網路的叢集,請按照下列步驟操作:
- 建立主機和服務專案。
- 在主機和服務專案中啟用 Google Kubernetes Engine API。
- 在主專案中建立網路和子網路。
- 在主專案中啟用共用虛擬私有雲。
- 在主機專案中,為服務專案的 GKE 服務帳戶授予
HostServiceAgent
使用者角色繫結。 - 在共用虛擬私有雲網路中啟用私人服務存取權。
在使用共用虛擬私有雲的新叢集中啟用 Filestore CSI 驅動程式
如要在使用共用虛擬私人雲端的新叢集中啟用 Filestore CSI 驅動程式,請按照下列步驟操作:
驗證可用的子網路和次要範圍。建立叢集時,您必須指定子網路和次要 IP 位址範圍,以供叢集的 Pod 和服務使用。
gcloud container subnets list-usable \ --project=SERVICE_PROJECT_ID \ --network-project=HOST_PROJECT_ID
輸出結果會與下列內容相似:
PROJECT REGION NETWORK SUBNET RANGE HOST_PROJECT_ID us-central1 shared-net tier-1 10.0.4.0/22 ┌──────────────────────┬───────────────┬─────────────────────────────┐ │ SECONDARY_RANGE_NAME │ IP_CIDR_RANGE │ STATUS │ ├──────────────────────┼───────────────┼─────────────────────────────┤ │ tier-1-pods │ 10.4.0.0/14 │ usable for pods or services │ │ tier-1-services │ 10.0.32.0/20 │ usable for pods or services │ └──────────────────────┴───────────────┴─────────────────────────────┘
建立 GKE 叢集。以下範例說明如何使用 gcloud CLI 建立 Autopilot 或標準叢集,並為共用虛擬私有雲設定。以下範例會使用「建立一個網路和兩個子網路」一文中的網路、子網路和範圍名稱。
Autopilot
gcloud container clusters create-auto tier-1-cluster \ --project=SERVICE_PROJECT_ID \ --region=COMPUTE_REGION \ --network=projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME \ --subnetwork=projects/HOST_PROJECT_ID/regions/COMPUTE_REGION/subnetworks/SUBNET_NAME \ --cluster-secondary-range-name=tier-1-pods \ --services-secondary-range-name=tier-1-services
標準
gcloud container clusters create tier-1-cluster \ --project=SERVICE_PROJECT_ID \ --zone=COMPUTE_REGION \ --enable-ip-alias \ --network=projects/HOST_PROJECT_ID/global/networks/NETWORK_NAME \ --subnetwork=projects/HOST_PROJECT_ID/regions/COMPUTE_REGION/subnetworks/SUBNET_NAME \ --cluster-secondary-range-name=tier-1-pods \ --services-secondary-range-name=tier-1-services \ --addons=GcpFilestoreCsiDriver
建立防火牆規則,允許叢集中的節點、Pod 和服務之間進行通訊。以下範例說明如何建立名為
my-shared-net-rule-2
的防火牆規則。gcloud compute firewall-rules create my-shared-net-rule-2 \ --project HOST_PROJECT_ID \ --network=NETWORK_NAME \ --allow=tcp,udp \ --direction=INGRESS \ --source-ranges=10.0.4.0/22,10.4.0.0/14,10.0.32.0/20
在本例中,來源範圍 IP 值來自先前步驟,您在該步驟中驗證了可用的子網路和次要範圍。
在共用虛擬私有雲中使用 Filestore CSI 驅動程式時建立 StorageClass
以下範例說明如何在共用虛擬私人雲端中使用 Filestore CSI 驅動程式時建立 StorageClass:
cat <<EOF | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: filestore-sharedvpc-example
provisioner: filestore.csi.storage.gke.io
parameters:
network: "projects/HOST_PROJECT_ID/global/networks/SHARED_VPC_NAME"
connect-mode: PRIVATE_SERVICE_ACCESS
reserved-ip-range: RESERVED_IP_RANGE_NAME
allowVolumeExpansion: true
EOF
更改下列內容:
HOST_PROJECT_ID
:共用虛擬私有雲網路的主專案 ID 或名稱。SHARED_VPC_NAME
:先前建立的共用虛擬私有雲網路名稱。RESERVED_IP_RANGE_NAME
:要用來佈建 Filestore 執行個體的特定保留 IP 位址範圍名稱。這是選填欄位。如果指定保留的 IP 位址範圍,則必須是命名的位址範圍,而非直接的 CIDR 值。
如果您想在執行 1.23 以上版本的 GKE 叢集中佈建由 Filestore 多共用區提供支援的磁碟區,請參閱「使用 GKE 適用的 Filestore 多共用區來最佳化儲存空間」。
重新連線 Filestore 單一共用磁碟區
如果您使用 Filestore 搭配基本硬碟、基本 SSD 或企業 (單一共用) 層級,可以按照這些操作說明,將現有的 Filestore 執行個體重新連結至 GKE 工作負載。
如要查看預先配置的 Filestore 執行個體詳細資料,請按照「取得特定執行個體的相關資訊」一文中的操作說明進行。
重新部署 PersistentVolume 規格。在
volumeAttributes
欄位中,修改下列欄位,使用與步驟 1 中 Filestore 執行個體相同的值:ip
:將這個值修改為預先佈建的 Filestore 執行個體 IP 位址。volume
:將這個值修改為預先配置的 Filestore 執行個體共用區名稱。在claimRef
中,請務必參照步驟 2 中的相同 PersistentVolumeClaim。
重新部署 PersistentVolumeClaim 規格。
執行
kubectl get pvc
,檢查 PersistentVolumeClaim 和 PersistentVolume 的繫結狀態。重新部署 Pod 規格,並確認 Pod 能再次存取 Filestore 共用內容。
後續步驟
- 瞭解如何在 GKE 上部署有狀態的 Filestore 工作負載。
- 瞭解如何與多個永久磁碟區共用 Filestore 企業版執行個體。
- 瞭解如何使用音量擴展功能。
- 瞭解如何使用音量快照。
- 進一步瞭解 GitHub 上的 CSI 驅動程式。