使用 Google Kubernetes Engine (GKE) 時,Filestore CSI 驅動程式是使用 Filestore 執行個體的主要方式。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 執行個體。您可以透過 CSI 磁碟區快照 API 觸發 Filestore 備份,方法是在磁碟區快照類別中新增
type:backup
欄位。您可以使用 GKE Filestore CSI 驅動程式進行磁碟區擴充。擴充磁碟區容量可讓您調整磁碟區容量大小。
您可以在 Kubernetes 工作負載中使用預先佈建的 Filestore 執行個體,存取現有的 Filestore 執行個體。您也可以動態建立或刪除 Filestore 執行個體,並透過 StorageClass 或 Deployment,在 Kubernetes 工作負載中使用這些執行個體。
支援 GKE 適用的 Filestore 多共用區。 這項功能可讓您建立 Filestore 執行個體,並同時為任意數量的 GKE 叢集分配多個較小的 NFS 掛接 PersistentVolume。
支援基本 HDD 層級,容量下限為 100 GiB。
需求條件
如要使用 Filestore CSI 驅動程式,叢集必須使用適用於服務層級的正確 GKE 版本號碼。系統僅支援下列服務層級:
- 搭配 GKE 1.21 以上版本的基本 HDD
- 基本傳統硬碟 (100 GiB 至 63.9 TiB),搭配 GKE 1.33 以上版本
- 搭配 GKE 1.21 以上版本的 Basic SSD
- 區域 (1 TiB 至 9.75 TiB),搭配 GKE 1.31 以上版本
- 可用區 (10 TiB 至 100 TiB),搭配 GKE 1.27 以上版本
- Enterprise 版 (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 驅動程式
如要在建立新的 Standard 叢集時啟用 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 或 Standard 叢集上停用 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 驅動程式」。
取消勾選「啟用 Filestore CSI 驅動程式」核取方塊。
按一下 [儲存變更]。
使用 Filestore CSI 驅動程式存取預先存在的 Filestore 執行個體
本節說明在 GKE 中,使用 Kubernetes 磁碟區透過 Filestore CSI 驅動程式存取現有 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
欄位。
接著,請建立會耗用磁碟區的 Deployment。
使用 Filestore CSI 驅動程式建立磁碟區
下列各節說明在 GKE 中使用由 Filestore CSI 驅動程式支援的 Kubernetes 磁碟區時,一般會執行的程序:
建立 StorageClass
啟用 Filestore CSI 驅動程式後,GKE 會自動安裝下列 StorageClasses,用於佈建 Filestore 執行個體:
zonal-rwx
,使用 Filestore 區域層級。enterprise-rwx
,使用 Filestore 企業級層級,其中每個 Kubernetes PersistentVolume 都會對應至 Filestore 執行個體。enterprise-multishare-rwx
,並使用 Filestore 企業級層級,其中每個 Kubernetes PersistentVolume 都會對應至特定 Filestore 執行個體的共用區。詳情請參閱「Google Kubernetes Engine 的 Filestore 多重共用」。standard-rwx
,使用 Filestore 基本傳統硬碟服務層級。premium-rwx
,使用 Filestore 基本固態硬碟服務層級。
每個 StorageClass 僅適用於執行各自支援 GKE 版本號碼的 GKE 叢集。如需各服務層級支援的必要版本清單,請參閱「需求條件」。
如要找出已安裝的 StorageClass
名稱,請執行下列指令:
kubectl get sc
您也可以在 provisioner
欄位中新增 filestore.csi.storage.gke.io
,安裝使用 Filestore CSI 驅動程式的其他 StorageClass
。
Filestore 必須知道要在哪個網路上建立新執行個體。自動安裝的 StorageClass 會使用為 GKE 叢集建立的預設網路。如果您已刪除這個網路,或想使用其他網路,請按照下列步驟建立新的 StorageClass。否則自動安裝的 StorageClass 將無法運作。
將下列資訊清單儲存為
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
參數。非預設虛擬私有雲需要設定特殊的防火牆規則。 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
。
下列範例資訊清單檔案會建立 PersistentVolumeClaim
,該檔案會參照名為 filestore-example
的 StorageClass
。
將下列資訊清單檔案儲存為
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
建立會耗用磁碟區的 Deployment
下列 Deployment 資訊清單會使用名為 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 驅動程式支援 GKE 1.33 以上版本的 NFSv4.1 檔案系統通訊協定。如果是靜態佈建,請在 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 執行個體。
搭配 Filestore 磁碟區使用 fsgroup
Kubernetes 會使用 fsGroup
變更磁碟區的權限和擁有權,以符合 Pod SecurityContext 中使用者要求的 fsGroup
。fsGroup
是適用於 Pod 中所有容器的補充群組。
您可以將 fsgroup 套用至 Filestore CSI 驅動程式佈建的磁碟區。
設定 Filestore 磁碟區的 IP 存取規則
Filestore 支援磁碟區的以 IP 為基礎的存取權控管規則。這項功能適用於執行 1.29.5 以上版本的 GKE 叢集。
管理員可透過這項功能指定允許存取 Filestore 執行個體的 IP 位址範圍,這些執行個體是透過 GKE 動態佈建。這項功能可限制只有授權用戶端能存取,進而提升安全性,尤其是在 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 工作負載的共用檔案儲存空間權限設定。不過,如要瞭解 Google 雲端硬碟如何管理檔案擁有權和存取權,需要掌握幾個重要概念:
NFS 和使用者對應 NFS (網路檔案系統) 是 Filestore 使用的通訊協定。方法是將用戶端系統 (您的 GKE Pod) 的使用者對應至 Filestore 伺服器的使用者。如果伺服器上的檔案屬於使用者 ID 1003,且用戶端連線的使用者 ID 為 1003,則可存取該檔案。
根壓縮和
anonUid
:根目錄壓縮
ROOT_SQUASH
是一項安全功能,可防止用戶端以完整根權限存取 Filestore 執行個體。啟用 Root 權限壓縮後,用戶端系統上的超級使用者會對應至anonUid
設定指定的非特權使用者。無 Root 權限壓縮 (
NO_ROOT_SQUASH
):允許用戶端以完整的 Root 權限存取 Filestore 執行個體,方便進行初始設定,但對於一般作業而言安全性較低。
初始設定和權限:根據預設,新的 Filestore 執行個體完全由根使用者擁有。如果啟用 Root 壓縮,但未先為其他使用者設定權限,您將無法存取。因此,您需要至少一個 NFS 匯出規則,並使用
NO_ROOT_SQUASH
初始設定其他使用者和群組的存取權。
建議
- 初始設定:請務必先建立至少一項 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
:您先前建立的共用 VPC 網路名稱。RESERVED_IP_RANGE_NAME
:用於佈建 Filestore 執行個體的特定保留 IP 位址範圍名稱。這是選填欄位。如果指定保留的 IP 位址範圍,則必須是具名位址範圍,而非直接 CIDR 值。
如要在執行 1.23 以上版本的 GKE 叢集上,佈建由 Filestore 多共用區支援的磁碟區,請參閱「運用 GKE 適用的 Filestore 多共用區,最佳化儲存空間」。
重新連線 Filestore 單一共用磁碟區
如果您使用 Filestore 的基本 HDD、基本 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 驅動程式。