通過CNFS管理NAS文件系統(tǒng)
容器網(wǎng)絡(luò)文件系統(tǒng)CNFS(Container Network File System)將阿里云的文件存儲抽象為一個K8s對象(CRD)進(jìn)行獨立管理,包括創(chuàng)建、刪除、描述、掛載、監(jiān)控及擴容等運維操作,為了提升NAS文件系統(tǒng)的性能,您可以通過CNFS使用NAS文件系統(tǒng),以提升NAS文件系統(tǒng)的性能和QoS控制,實現(xiàn)對文件系統(tǒng)層的獨立管理。本文介紹如何使用CNFS托管NAS文件系統(tǒng)及CNFS在工作負(fù)載中的應(yīng)用。
前提條件
已開通文件存儲NAS服務(wù)。
首次登錄文件存儲NAS產(chǎn)品詳情頁時,按照頁面引導(dǎo)開通服務(wù)。
已創(chuàng)建ACK集群Pro版,且集群為1.20以上版本(通過kubectl使用CNFS時,支持1.20版本集群)。具體操作,請參見創(chuàng)建ACK托管集群。
存儲相關(guān)組件csi-plugin、csi-provisioner、storage-operator已升級至最新版本。關(guān)于升級組件的操作,請參見管理組件。使用CNFS功能時,相關(guān)組件版本要求如下:
csi-plugin和csi-provisioner組件為v1.20.5-ff6490f-aliyun及以上版本。
storage-operator組件為v1.18.8.56-2aa33ba-aliyun及以上版本;通過控制臺使用CNFS時,該組件需為v1.26.2-1de13b6-aliyun及以上版本。
如需通過kubectl使用CNFS,請先通過kubectl工具連接集群。具體操作,請參見獲取集群KubeConfig并通過kubectl工具連接集群。
僅支持通用型NAS文件系統(tǒng),不支持極速型NAS文件系統(tǒng)。若您需要對NAS文件系統(tǒng)進(jìn)行KMS加密,請先開通KMS服務(wù)。具體操作,請參見開通密鑰管理服務(wù)。
功能介紹
您可以通過以下三種方式使用CNFS托管NAS文件系統(tǒng):
方式一:使用CNFS創(chuàng)建默認(rèn)NAS文件系統(tǒng)
創(chuàng)建一個默認(rèn)的CNFS文件系統(tǒng),并使用NAS動態(tài)存儲卷自動掛載默認(rèn)創(chuàng)建的NAS文件系統(tǒng),同時將NAS動態(tài)存儲卷綁定到工作負(fù)載Deployment和StatefulSet中。
方式二:使用CNFS創(chuàng)建自定義NAS文件系統(tǒng)
使用CNFS創(chuàng)建自定義的NAS文件系統(tǒng),并使用NAS靜態(tài)存儲卷或NAS動態(tài)存儲卷掛載自定義創(chuàng)建的NAS文件系統(tǒng),然后將創(chuàng)建的NAS靜態(tài)存儲卷或NAS動態(tài)存儲卷綁定到工作負(fù)載Deployment中。
方式三:使用已有的NAS文件系統(tǒng)創(chuàng)建CNFS
使用CNFS配置已有的NAS文件系統(tǒng),并使用NAS靜態(tài)存儲卷或NAS動態(tài)存儲卷掛載已有的NAS文件系統(tǒng),然后將創(chuàng)建的NAS靜態(tài)存儲卷或NAS動態(tài)存儲卷綁定到工作負(fù)載Deployment中。
方式一:使用CNFS創(chuàng)建默認(rèn)NAS文件系統(tǒng)
根據(jù)當(dāng)前集群所在的VPC創(chuàng)建容量型NAS或性能型NAS,不支持極速型NAS。若當(dāng)前地域不支持容量型NAS,則創(chuàng)建性能型NAS,默認(rèn)對文件不進(jìn)行加密處理。
通過kubectl命令行創(chuàng)建
使用以下內(nèi)容,創(chuàng)建一個默認(rèn)的CNFS文件系統(tǒng),并使用NAS動態(tài)存儲卷自動掛載到默認(rèn)創(chuàng)建的NAS文件系統(tǒng)中,同時將NAS動態(tài)存儲卷綁定到工作負(fù)載Deployment和StatefulSet中。
# 創(chuàng)建CNFS、StorageClass和Deployment、StatefulSet對象。
cat << EOF | kubectl apply -f -
apiVersion: storage.alibabacloud.com/v1beta1
kind: ContainerNetworkFileSystem
metadata:
name: cnfs-nas-filesystem
spec:
description: "cnfs"
type: nas
reclaimPolicy: Retain # 只支持Retain策略,刪除CNFS時并不會刪除NAS文件系統(tǒng)。
parameters:
encryptType: SSE-KMS # 可選參數(shù),不指定表示對文件不使用NAS托管加密,指定SSE-KMS表示開啟此功能。
enableTrashCan: "true" # 可選參數(shù),不指定表示不打開回收站功能,指定true表示開啟此功能。
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: alibabacloud-cnfs-nas
mountOptions:
- nolock,tcp,noresvport
- vers=3
parameters:
volumeAs: subpath
containerNetworkFileSystem: cnfs-nas-filesystem
path: "/"
provisioner: nasplugin.csi.alibabacloud.com
reclaimPolicy: Retain
allowVolumeExpansion: true # 可選參數(shù),指定為true表示允許對NAS文件系統(tǒng)進(jìn)行擴容。
---
kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: cnfs-nas-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: alibabacloud-cnfs-nas
resources:
requests:
storage: 70Gi # 如果打開目錄限額功能,則storage字段會生效,動態(tài)創(chuàng)建目錄寫入數(shù)據(jù)量最大為70 GiB。
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: cnfs-nas-deployment
labels:
app: nginx
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
volumeMounts:
- mountPath: "/data"
name: cnfs-nas-pvc
volumes:
- name: cnfs-nas-pvc
persistentVolumeClaim:
claimName: cnfs-nas-pvc
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: cnfs-nas-sts
labels:
app: nginx
spec:
serviceName: "nginx"
replicas: 2
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: nginx:1.14.2
volumeMounts:
- mountPath: "/data"
name: www
volumeClaimTemplates:
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
storageClassName: "alibabacloud-cnfs-nas"
resources:
requests:
storage: 50Gi # 如果打開目錄限額功能,則storage字段會生效,動態(tài)創(chuàng)建目錄寫入數(shù)據(jù)量最大為50 GiB。
EOF
參數(shù) | 說明 |
description | 當(dāng)前文件系統(tǒng)的簡單描述。 |
type | 需要創(chuàng)建的存儲卷類型。 |
reclaimPolicy | 回收策略,目前僅支持Retain策略,刪除CNFS時并不會刪除NAS文件系統(tǒng)。 |
parameters.encryptType | 可選,加密方式。
|
parameters.enableTrashCan | 是否開啟回收站功能。
|
通過控制臺創(chuàng)建
創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)CNFS。
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇
。在容器網(wǎng)絡(luò)文件系統(tǒng)CNFS頁面,單擊創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)。
在創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)面板,配置相關(guān)參數(shù)后,單擊確定。
配置項
說明
示例
容器網(wǎng)絡(luò)文件系統(tǒng)CNFS名稱
CNFS名稱。
cnfs-nas-filesystem
選擇文件系統(tǒng)類型
選擇要托管的文件系統(tǒng)類型,支持NAS和OSS。
NAS
必選項
支持創(chuàng)建默認(rèn)NAS或選擇已有NAS。選擇已有NAS時,您可以選擇已有的NAS掛載點或創(chuàng)建自定義的NAS文件系統(tǒng)。
選擇文件系統(tǒng)類型為NAS時,才會顯示該必選項。
創(chuàng)建默認(rèn)NAS
容器網(wǎng)絡(luò)文件系統(tǒng)CNFS描述
CNFS的相關(guān)描述信息。
通過CNFS創(chuàng)建默認(rèn)NAS文件系統(tǒng)
全鏈路加速
是否使用彈性加速特性進(jìn)行掛載,默認(rèn)關(guān)閉。關(guān)于彈性加速特性的更多信息,請參見開啟CNFS NAS計算端分布式緩存。
關(guān)閉
在容器網(wǎng)絡(luò)文件系統(tǒng)列表頁面,單擊目標(biāo)文件系統(tǒng),查看容器網(wǎng)絡(luò)文件系統(tǒng)詳情,然后單擊NAS ID進(jìn)入NAS文件系統(tǒng)詳情頁面。
在文件系統(tǒng)詳情頁面,單擊掛載使用,在掛載點列表的掛載點地址列,將光標(biāo)放置在圖標(biāo)上,即可查看目標(biāo)掛載點的掛載點地址。
創(chuàng)建動態(tài)存儲類StorageClass。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在存儲類頁面,單擊右上角的創(chuàng)建。
在創(chuàng)建面板,完成StorageClass的相關(guān)配置后,單擊創(chuàng)建。
配置項
說明
示例
名稱
StorageClass的名稱。
名稱必須以小寫字母開頭,只能包含小寫字母、數(shù)字、小數(shù)點(.)和中劃線(-)。
alibabacloud-cnfs-nas
存儲卷類型
可選擇云盤或NAS。
NAS
選擇掛載點
為步驟1通過CNFS創(chuàng)建的默認(rèn)NAS文件系統(tǒng)的掛載點地址。關(guān)于如何查看掛載點地址,請參見查看掛載點地址。
64888******-e*****.cn-qingdao.nas.aliyuncs.com
回收策略
回收策略,目前僅支持Retain策略,刪除CNFS時并不會刪除NAS文件系統(tǒng)。
Retain
掛載選項
掛載NAS的可選參數(shù),包括NFS協(xié)議版本等參數(shù)。
NFS協(xié)議版本號推薦使用v3,且極速類型NAS僅支持v3。關(guān)于NFS協(xié)議的更多信息,請參見NFS協(xié)議。
nolock,tcp,noresvport
vers=3
掛載路徑
NAS文件系統(tǒng)中的掛載路徑。
/
創(chuàng)建PVC。
在集群管理頁左側(cè)導(dǎo)航欄,選擇 。
在存儲聲明頁面,單擊右上角的創(chuàng)建。
在創(chuàng)建存儲聲明面板,完成相關(guān)配置后,單擊創(chuàng)建。
參數(shù)
說明
示例
存儲聲明類型
支持云盤、NAS、OSS三種云存儲類型。 本文中選擇NAS。
NAS
名稱
創(chuàng)建的存儲聲明名稱在集群內(nèi)必須唯一。
cnfs-nas-pvc
分配模式
存儲卷使用方式。
使用存儲類動態(tài)創(chuàng)建
已有存儲卷類
單擊選擇存儲類,在目標(biāo)存儲類右側(cè)操作列單擊選擇,選擇存儲類。
alibabacloud-cnfs-nas
總量
所創(chuàng)建存儲卷的容量。
說明所創(chuàng)建存儲卷聲明的容量不能超過待掛載的存儲卷容量。
70 Gi
訪問模式
默認(rèn)為ReadWriteMany,也可選擇ReadWriteOnce或ReadOnlyMany。
ReadWriteMany
在目標(biāo)應(yīng)用中掛載PVC。
將通過CNFS創(chuàng)建的NAS文件系統(tǒng)掛載到容器中的/data路徑下。
方式二:使用CNFS創(chuàng)建自定義NAS文件系統(tǒng)
通過kubectl命令行創(chuàng)建
使用CNFS創(chuàng)建自定義的NAS文件系統(tǒng),并使用NAS靜態(tài)存儲卷或NAS動態(tài)存儲卷掛載自定義創(chuàng)建的NAS文件系統(tǒng),然后將創(chuàng)建的NAS靜態(tài)存儲卷或NAS動態(tài)存儲卷綁定到工作負(fù)載Deployment中。
創(chuàng)建自定義的NAS文件系統(tǒng)。
執(zhí)行以下命令創(chuàng)建自定義的NAS文件系統(tǒng)。
cat <<EOF | kubectl apply -f - apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: name: cnfs-nas-filesystem spec: description: "cnfs" type: nas reclaimPolicy: Retain parameters: filesystemType: standard storageType: Capacity protocolType: NFS encryptType: SSE-KMS enableTrashCan: "true" trashCanReservedDays: "5" vSwitchId: vsw-2ze9l3ppwzg6bl02j**** EOF
參數(shù)
說明
description
當(dāng)前文件系統(tǒng)的簡單描述。
type
需要創(chuàng)建的存儲卷類型。
reclaimPolicy
回收策略,目前僅支持Retain策略,刪除CNFS時并不會刪除NAS文件系統(tǒng)。
parameters.filesystemType
文件系統(tǒng)類型。默認(rèn)為通用型standard。
parameters.storageType
存儲類型,當(dāng)filesystemType為standard時,可選擇性能型Performance或容量型Capacity NAS文件系統(tǒng)。
parameters.protocolType
文件傳輸協(xié)議類型為NFS,目前僅支持NFS V3協(xié)議。
parameters.encryptType
可選,加密方式。
None:不加密。
SSE-KMS:使用NAS服務(wù)端KMS加密。
parameters.enableTrashCan
是否開啟回收站功能。
true:開啟。
false:不開啟。
parameters.trashCanReservedDays
表示回收站文件保留的最長時間,默認(rèn)為7天。示例中
trashCanReservedDays: 5
,表示回收站的文件最長保留5天。parameters.vSwitchId
創(chuàng)建出的NAS文件系統(tǒng)需要使用的交換機ID。
執(zhí)行以下命令查看創(chuàng)建的NAS文件系統(tǒng)。
kubectl get cnfs
預(yù)期輸出:
NAME AGE cnfs-nas-filesystem 6d
執(zhí)行以下命令查看NAS文件系統(tǒng)的詳細(xì)信息。
kubectl get cnfs/cnfs-nas-filesystem -o yaml
預(yù)期輸出:
apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"storage.alibabacloud.com/v1beta1","kind":"ContainerNetworkFileSystem","metadata":{"annotations":{},"name":"cnfs-nas-filesystem"},"spec":{"description":"filesystem4","parameters":{"filesystemId":"17f7e4****","server":"17f7e4****-h****.cn-beijing.nas.aliyuncs.com"},"reclaimPolicy":"Retain","type":"nas"}} creationTimestamp: "2021-05-14T08:20:09Z" finalizers: - protection.alibabacloud.com/cnfs generation: 6 name: cnfs-nas-filesystem resourceVersion: "122342382" uid: a9e9650c-68b2-405b-8274-0f5b6063**** spec: description: "cnfs" type: nas reclaimPolicy: Retain parameters: filesystemType: standard storageType: Capacity protocolType: NFS encryptType: SSE-KMS vSwitchId: vsw-XXX enableTrashCan: "true" status: conditions: - lastProbeTime: "2021-05-14 16:20:15" reason: The nas filesystem and mount target complete initialization. status: Ready fsAttributes: accessGroupName: DEFAULT_VPC_GROUP_NAME encryptType: SSE-KMS enableTrashCan: "true" filesystemId: 17f7e48ece filesystemType: standard protocolType: NFS regionId: cn-beijing server: 17f7e48ece-h****.cn-beijing.nas.aliyuncs.com storageType: Capacity vSwitchId: vsw-2ze9l3ppwzg6bl02j**** vpcId: vpc-2ze9sgmehjvwv5x74**** zoneId: cn-beijing-h status: Available
參數(shù)
說明
status
CNFS的當(dāng)前狀態(tài),包括Pending(等待)、Creating(創(chuàng)建中)、Initialization(創(chuàng)建文件系統(tǒng)中)、Available(可用)、Unavailable(暫時不可用,可以恢復(fù)為可用狀態(tài))、Fatal(不可用,無法恢復(fù))、Terminating(刪除中)。
conditions.lastProbeTime
最后探活的時間。
conditions.reason
處于當(dāng)前狀態(tài)的原因。
conditions.status
當(dāng)前狀態(tài)是否可用,可用為Ready,不可用為NotReady。
fsAttributes.accessGroupName
掛載點所應(yīng)用的權(quán)限組名稱,目前僅支持DEFAULT_VPC_GROUP_NAME(專有網(wǎng)絡(luò)默認(rèn)權(quán)限組)。
fsAttributes.encryptType
可選,加密方式。
None:不加密。
SSE-KMS:使用NAS服務(wù)端KMS加密。
fsAttributes.enableTrashCan
是否開啟回收站功能。
true:開啟。
false:不開啟。
fsAttributes.filesystemId
文件系統(tǒng)ID。
fsAttributes.filesystemType
文件系統(tǒng)類型。默認(rèn)為通用型standard。
fsAttributes.protocolType
文件傳輸協(xié)議類型。目前支持NFS協(xié)議。
fsAttributes.regionId
CNFS所在的地域。
fsAttributes.server
CNFS的掛載點Domain。
fsAttributes.storageType
存儲類型,當(dāng)filesystemType為standard時,可選擇性能型Performance或容量型Capacity NAS文件系統(tǒng)。
fsAttributes.vSwitchId
CNFS使用的vSwitch。
fsAttributes.vpcId
CNFS所在的VPC。
fsAttributes.zoneId
CNFS所在的可用區(qū)。
通過創(chuàng)建靜態(tài)PV或動態(tài)存儲類StorageClass來綁定NAS文件系統(tǒng)。
創(chuàng)建靜態(tài)PV。
執(zhí)行以下內(nèi)容創(chuàng)建引用NAS文件系統(tǒng)的PV對象。
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: PersistentVolume metadata: name: cnfs-nas-pv labels: alicloud-pvname: cnfs-nas-pv spec: capacity: storage: 5Gi accessModes: - ReadWriteMany csi: driver: nasplugin.csi.alibabacloud.com volumeHandle: cnfs-nas-pv # 需要與PV的name保持一致。 volumeAttributes: containerNetworkFileSystem: cnfs-nas-filesystem path: "/" mountOptions: - nolock,tcp,noresvport - vers=3 EOF
參數(shù)
說明
containerNetworkFileSystem
指定需要使用的CNFS名稱。
path
掛載存儲卷在CNFS中使用的路徑。
執(zhí)行以下命令查看PV是否創(chuàng)建成功。
kubectl get pv
預(yù)期輸出:
NAME CAPACITY ACCESS MODES RECLAIM POLICY STATUS CLAIM STORAGECLASS REASON AGE cnfs-nas-pv 5Gi RWX Retain Available 4s
創(chuàng)建動態(tài)StorageClass。
執(zhí)行以下內(nèi)容創(chuàng)建引用NAS文件系統(tǒng)的StorageClass對象。
cat <<EOF | kubectl apply -f - apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: alibabacloud-nas-cnfs mountOptions: - nolock,tcp,noresvport - vers=3 parameters: volumeAs: subpath containerNetworkFileSystem: nas-load-mount-target path: "/" provisioner: nasplugin.csi.alibabacloud.com reclaimPolicy: Retain allowVolumeExpansion: true EOF
說明allowVolumeExpansion:取值為true或false,表示是否開啟Quota及擴容功能。
創(chuàng)建PVC。
執(zhí)行以下內(nèi)容創(chuàng)建引用NAS文件系統(tǒng)的PVC。
cat <<EOF | kubectl apply -f - apiVersion: v1 kind: PersistentVolumeClaim metadata: name: cnfs-nas-pvc spec: accessModes: - ReadWriteMany storageClassName: alibabacloud-nas-cnfs resources: requests: storage: 70Gi EOF
創(chuàng)建應(yīng)用。
執(zhí)行以下內(nèi)容創(chuàng)建引用PVC的應(yīng)用。
cat <<EOF | kubectl apply -f - apiVersion: apps/v1 kind: Deployment metadata: name: cnfs-nas-deployment labels: app: nginx spec: selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.14.2 ports: - containerPort: 80 volumeMounts: - name: cnfs-nas-pvc mountPath: "/data" volumes: - name: cnfs-nas-pvc persistentVolumeClaim: claimName: cnfs-nas-pvc EOF
執(zhí)行以下命令查看所創(chuàng)建應(yīng)用的工作狀態(tài)。
kubectl get pod
預(yù)期輸出:
NAME READY STATUS RESTARTS AGE cnfs-nas-deployment-86959b**** 1/1 Running 0 2s
從預(yù)期輸出可得,所創(chuàng)建的Deployment為Running狀態(tài),表示CNFS在該Deployment中使用成功。
通過控制臺創(chuàng)建
創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)CNFS。
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇
。在容器網(wǎng)絡(luò)文件系統(tǒng)CNFS頁面,單擊創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)。
在創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)面板,配置相關(guān)參數(shù)后,單擊確定。
配置項
說明
示例
容器網(wǎng)絡(luò)文件系統(tǒng)CNFS名稱
CNFS名稱。
cnfs-nas-filesystem
選擇文件系統(tǒng)類型
選擇要托管的文件系統(tǒng)類型,支持NAS和OSS。
NAS
必選項
支持創(chuàng)建默認(rèn)NAS或選擇已有NAS。選擇已有NAS時,您可以選擇已有的NAS掛載點或創(chuàng)建自定義的NAS文件系統(tǒng)。
選擇文件系統(tǒng)類型為NAS時,才會顯示該必選項。
選擇已有NAS
選擇NAS
選擇已有的NAS掛載點或單擊右側(cè)創(chuàng)建NAS來創(chuàng)建自定義的NAS文件系統(tǒng)。
必選項為選擇已有NAS時,才會顯示該選項。
單擊右側(cè)創(chuàng)建NAS,僅支持創(chuàng)建通用型NAS文件系統(tǒng),相關(guān)操作,請參見通過控制臺創(chuàng)建通用型NAS文件系統(tǒng)。
容器網(wǎng)絡(luò)文件系統(tǒng)CNFS描述
CNFS的相關(guān)描述信息。
通過CNFS創(chuàng)建自定義NAS文件系統(tǒng)
全鏈路加速
是否使用彈性加速特性進(jìn)行掛載,默認(rèn)關(guān)閉。關(guān)于彈性加速特性的更多信息,請參見開啟CNFS NAS計算端分布式緩存。
關(guān)閉
通過創(chuàng)建靜態(tài)PV或動態(tài)存儲類StorageClass來綁定NAS文件系統(tǒng)。
創(chuàng)建靜態(tài)PV。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在存儲卷頁面,單擊右上角的創(chuàng)建。
在創(chuàng)建存儲卷面板,配置相關(guān)參數(shù)后,單擊確定。
配置項
說明
示例
存儲卷類型
支持云盤、NAS、OSS三種云存儲類型。本文中選擇為NAS。
NAS
名稱
創(chuàng)建的數(shù)據(jù)卷的名稱。數(shù)據(jù)卷名在集群內(nèi)必須唯一。
cnfs-nas-pv
總量
所創(chuàng)建存儲卷的容量。注意NAS文件系統(tǒng)本身不限制使用量。此處不是NAS文件系統(tǒng)的使用限額,只是所創(chuàng)建存儲卷的容量聲明。
5 Gi
訪問模式
支持ReadWriteMany和ReadWriteOnce。默認(rèn)為ReadWriteMany。
ReadWriteMany
是否使用CNFS
使用CNFS功能。需要開啟,開啟后您需要進(jìn)行以下操作:
選擇步驟1中已創(chuàng)建的CNFS。
是否開啟CNFS加速功能,關(guān)于CNFS加速更多信息,請參見開啟CNFS NAS計算端分布式緩存。
cnfs-nas-filesystem
顯示高級選項
掛載路徑:NAS文件系統(tǒng)中的掛載路徑。以/為根目錄,設(shè)定后數(shù)據(jù)卷將掛載到指定的子目錄。
如果NAS根目錄下沒有此子目錄,會默認(rèn)創(chuàng)建后再掛載。
您可以不填此項,默認(rèn)掛載到NAS根目錄。
回收策略:回收策略,CNFS僅支持Retain策略。
/
Retain
標(biāo)簽
為該存儲卷添加標(biāo)簽。
cnfs-nas-pv
創(chuàng)建動態(tài)存儲類StorageClass。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇 。
在存儲類頁面,單擊右上角的創(chuàng)建。
在創(chuàng)建面板,完成StorageClass的相關(guān)配置后,單擊創(chuàng)建。
配置項
說明
示例
名稱
StorageClass的名稱。
名稱必須以小寫字母開頭,只能包含小寫字母、數(shù)字、小數(shù)點(.)和中劃線(-)。
alibabacloud-cnfs-nas
存儲卷類型
可選擇云盤或NAS。
NAS
選擇掛載點
為步驟1通過CNFS創(chuàng)建的默認(rèn)NAS文件系統(tǒng)的掛載點地址。關(guān)于如何查看掛載點地址,請參見查看掛載點地址。
64888******-e*****.cn-qingdao.nas.aliyuncs.com
回收策略
回收策略,目前僅支持Retain策略,刪除CNFS時并不會刪除NAS文件系統(tǒng)。
Retain
掛載選項
掛載NAS的可選參數(shù),包括NFS協(xié)議版本等參數(shù)。
NFS協(xié)議版本號推薦使用v3,且極速類型NAS僅支持v3。關(guān)于NFS協(xié)議的更多信息,請參見NFS協(xié)議。
nolock,tcp,noresvport
vers=3
掛載路徑
NAS文件系統(tǒng)中的掛載路徑。
/
創(chuàng)建PVC。
在集群管理頁左側(cè)導(dǎo)航欄,選擇 。
在存儲聲明頁面,單擊右上角的創(chuàng)建。
在創(chuàng)建存儲聲明面板,完成相關(guān)配置后,單擊創(chuàng)建。
參數(shù)
說明
示例
存儲聲明類型
支持云盤、NAS、OSS三種云存儲類型。 本文中選擇NAS。
NAS
名稱
創(chuàng)建的存儲聲明名稱在集群內(nèi)必須唯一。
cnfs-nas-pvc
分配模式
存儲卷使用方式。
使用存儲類動態(tài)創(chuàng)建
已有存儲卷類
單擊選擇存儲類,在目標(biāo)存儲類右側(cè)操作列單擊選擇,選擇存儲類。
alibabacloud-cnfs-nas
總量
所創(chuàng)建存儲卷的容量。
說明所創(chuàng)建存儲卷聲明的容量不能超過待掛載的存儲卷容量。
70 Gi
訪問模式
默認(rèn)為ReadWriteMany,也可選擇ReadWriteOnce或ReadOnlyMany。
ReadWriteMany
在目標(biāo)應(yīng)用中掛載PVC。
將通過CNFS創(chuàng)建的NAS文件系統(tǒng)掛載到容器中的/data路徑下。
方式三:使用已有的NAS文件系統(tǒng)創(chuàng)建CNFS
通過kubectl命令行創(chuàng)建
使用CNFS配置已有的NAS文件系統(tǒng),并使用NAS靜態(tài)存儲卷或NAS動態(tài)存儲卷掛載已有的NAS文件系統(tǒng),然后將創(chuàng)建的NAS靜態(tài)存儲卷或NAS動態(tài)存儲卷綁定到工作負(fù)載Deployment中。
使用已有的NAS文件系統(tǒng)創(chuàng)建CNFS。
執(zhí)行以下內(nèi)容使用已有的NAS文件系統(tǒng)創(chuàng)建CNFS。
# 當(dāng)NAS文件系統(tǒng)存在時,加載已創(chuàng)建的NAS文件系統(tǒng)。 cat <<EOF | kubectl apply -f - apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: name: cnfs-nas-filesystem spec: description: "cnfs" type: nas reclaimPolicy: Retain parameters: server: 17f7e4****-h****.cn-beijing.nas.aliyuncs.com EOF
參數(shù)
說明
description
當(dāng)前文件系統(tǒng)的簡單描述。
type
需要創(chuàng)建的存儲類型。
reclaimPolicy
回收策略,CNFS目前僅支持Retain策略,刪除CNFS時并不會刪除NAS文件系統(tǒng)。
parameters.server
NAS的掛載點URL地址。
執(zhí)行以下命令查看NAS文件系統(tǒng)。
kubectl get cnfs
預(yù)期輸出:
NAME AGE cnfs-nas-filesystem 6d
執(zhí)行以下命令查看NAS文件系統(tǒng)的詳細(xì)信息。
kubectl get cnfs/cnfs-nas-filesystem -o yaml
預(yù)期輸出:
apiVersion: storage.alibabacloud.com/v1beta1 kind: ContainerNetworkFileSystem metadata: annotations: kubectl.kubernetes.io/last-applied-configuration: | {"apiVersion":"storage.alibabacloud.com/v1beta1","kind":"ContainerNetworkFileSystem","metadata":{"annotations":{},"name":"nas-load-mount-target"},"spec":{"description":"filesystem4","parameters":{"filesystemId":"17f7e4****","server":"17f7e48ece-h****.cn-beijing.nas.aliyuncs.com"},"reclaimPolicy":"Retain","type":"nas"}} creationTimestamp: "2021-05-14T08:20:09Z" finalizers: - protection.alibabacloud.com/cnfs generation: 6 name: cnfs-nas-filesystem resourceVersion: "122342382" selfLink: /apis/storage.alibabacloud.com/v1beta1/containernetworkfilesystems/nas-load-mount-target uid: a9e9650c-68b2-405b-8274-0f5b6063**** spec: description: cnfs parameters: server: 17f7e48ece-h****.cn-beijing.nas.aliyuncs.com reclaimPolicy: Retain type: nas status: conditions: - lastProbeTime: "2021-05-14 16:20:15" reason: The nas filesystem and mount target complete initialization. status: Ready fsAttributes: accessGroupName: DEFAULT_VPC_GROUP_NAME encryptType: None enableTrashCan: "true" filesystemId: 17f7e4**** filesystemType: standard protocolType: NFS regionId: cn-beijing server: 17f7e48ece-h****.cn-beijing.nas.aliyuncs.com storageType: Capacity vSwitchId: vsw-2ze9l3ppwzg6bl02j**** vpcId: vpc-2ze9sgmehjvwv5x74**** zoneId: cn-beijing-h status: Available
在NAS存儲卷中應(yīng)用CNFS。具體操作,請參見方式二:使用CNFS創(chuàng)建自定義NAS文件系統(tǒng)中通過kubectl創(chuàng)建的步驟2到步驟4。
通過控制臺創(chuàng)建
創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)CNFS。
登錄容器服務(wù)管理控制臺,在左側(cè)導(dǎo)航欄選擇集群。
在集群列表頁面,單擊目標(biāo)集群名稱,然后在左側(cè)導(dǎo)航欄,選擇
。在容器網(wǎng)絡(luò)文件系統(tǒng)CNFS頁面,單擊創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)。
在創(chuàng)建容器網(wǎng)絡(luò)文件系統(tǒng)面板,配置相關(guān)參數(shù)后,單擊確定。
配置項
說明
示例
容器網(wǎng)絡(luò)文件系統(tǒng)CNFS名稱
CNFS名稱。
cnfs-nas-filesystem
選擇文件系統(tǒng)類型
選擇要托管的文件系統(tǒng)類型,支持NAS和OSS。
NAS
必選項
支持創(chuàng)建默認(rèn)NAS或選擇已有NAS。選擇已有NAS時,您可以選擇已有的NAS掛載點或創(chuàng)建自定義的NAS文件系統(tǒng)。
選擇文件系統(tǒng)類型為NAS時,才會顯示該必選項。
選擇已有NAS
選擇NAS
選擇已有的NAS掛載點或單擊右側(cè)創(chuàng)建NAS來創(chuàng)建自定義的NAS文件系統(tǒng)。
必選項為選擇已有NAS時,才會顯示該選項。
選擇已有的NAS掛載點,關(guān)于如何查看掛載點,請參見查看掛載點地址。
容器網(wǎng)絡(luò)文件系統(tǒng)CNFS描述
CNFS的相關(guān)描述信息。
通過CNFS創(chuàng)建自定義NAS文件系統(tǒng)
全鏈路加速
是否使用彈性加速特性進(jìn)行掛載,默認(rèn)關(guān)閉。關(guān)于彈性加速特性的更多信息,請參見開啟CNFS NAS計算端分布式緩存。
關(guān)閉
在NAS存儲卷中應(yīng)用CNFS。具體操作,請參見方式二:使用CNFS創(chuàng)建自定義NAS文件系統(tǒng)中通過控制臺創(chuàng)建的步驟2到步驟4。
后續(xù)步驟
關(guān)于如何監(jiān)控節(jié)點側(cè)NAS存儲資源,請參見NAS存儲監(jiān)控使用示例。