您可以通過阿里云提供的Flexvolume插件使用阿里云NAS文件存儲服務。本文介紹如何使用NAS靜態(tài)存儲卷。
前提條件
- 使用NAS數(shù)據卷之前,您需要在文件存儲管理控制臺上創(chuàng)建文件系統(tǒng),并在文件系統(tǒng)中添加掛載點。創(chuàng)建的NAS文件系統(tǒng)掛載點需要和您的集群位于同一VPC。
- 請將Flexvolume插件更新到最新版本。
- 已通過kubectl連接Kubernetes集群。具體操作,請參見獲取集群KubeConfig并通過kubectl工具連接集群。
背景信息
使用Flexvolume插件,您可以通過PV和PVC方式使用阿里云NAS存儲卷。操作步驟
Pod可以通過關聯(lián)創(chuàng)建的PV和PVC的方式使用NAS存儲卷。
- 創(chuàng)建PV。您可以使用YAML文件或者通過阿里云容器服務控制臺界面創(chuàng)建NAS數(shù)據卷。
- 通過YAML文件創(chuàng)建PV。使用nas-pv.yaml文件創(chuàng)建PV。
apiVersion: v1 kind: PersistentVolume metadata: name: pv-nas spec: capacity: storage: 5Gi storageClassName: nas accessModes: - ReadWriteMany flexVolume: driver: "alicloud/nas" options: server: "0cd8b4a576-u****.cn-hangzhou.nas.aliyuncs.com" path: "/k8s" vers: "3" options: "nolock,tcp,noresvport"
- 通過控制臺界面創(chuàng)建云盤數(shù)據卷。
- 登錄容器服務管理控制臺。
- 在控制臺左側導航欄中,單擊集群。
- 在集群列表頁面中,單擊目標集群名稱或者目標集群右側操作列下的詳情。
- 在集群管理頁左側導航欄中,選擇 。
- 在存儲卷頁面的右上角單擊創(chuàng)建。
- 在創(chuàng)建存儲卷對話框中,配置存儲卷的相關參數(shù)。
參數(shù) 描述 存儲卷類型 本示例中為NAS。 名稱 創(chuàng)建的存儲卷名稱。存儲卷名在集群內必須唯一。本例為pv-nas。 存儲驅動 本示例選擇Flexvolume。有關存儲插件詳細信息,請參見CSI和Flexvolume存儲插件的區(qū)別。 總量 所創(chuàng)建存儲卷的容量。注意不能超過NAS文件系統(tǒng)的存儲容量。 訪問模式 默認為ReadWriteMany。 掛載點域名 集群在NAS文件系統(tǒng)中掛載點的掛載地址。關于NAS文件系統(tǒng)掛載點的管理,請參見管理掛載點。 子目錄 NAS路徑下的子目錄,以 / 開頭,設定后存儲卷將掛載到指定的子目錄。 - 如果NAS根目錄下沒有此子目錄,會默認創(chuàng)建后再掛載。
- 您可以不填此項,默認掛載到NAS根目錄。
- 極速NAS需要以/share開頭。
權限 設置掛載目錄的訪問權限,例如755、644、777等。 說明- 只有掛載到NAS子目錄時才能設置權限,掛載到根目錄時不能設置。
- 當掛載的目錄文件量較大時不建議此配置,否則會出現(xiàn)chmod長時間執(zhí)行。
如果掛載到NAS子目錄時,您可以選擇設置權限,或者不填此項。- 不填此項,默認權限為NAS文件原來的權限。
- 選擇設置權限時:
- 如果是Flexvolume v1.14.6.15-8d3b7e7-aliyun以前版本,則使用遞歸方式進行權限操作,掛載目錄下面所有文件、目錄都會被修改權限。
- 如果是Flexvolume v1.14.6.15-8d3b7e7-aliyun以及以后版本,配置了此項,按照權限模式的配置執(zhí)行權限操作。
權限模式 定義權限變更方式,支持非遞歸或遞歸方式。 - 非遞歸:執(zhí)行權限變更時,只對掛載目錄起作用,其子目錄、包含的文件不進行變更權限。
- 遞歸:執(zhí)行權限變更時,會對其子目錄、包含的文件進行遞歸操作,全部變更權限。說明 當掛載目錄下面文件數(shù)量較多時,使用遞歸方式,會出現(xiàn)執(zhí)行chmod耗時長,從而導致掛載、卸載操作失敗的可能,請謹慎使用。
版本 掛載的NAS卷使用的NFS協(xié)議版本號,推薦使用V3,且極速類型NAS只支持V3。 標簽 為該存儲卷添加標簽。 - 完成配置后,單擊創(chuàng)建。
- 通過YAML文件創(chuàng)建PV。
- 創(chuàng)建PVC。使用nas-pvc.yaml文件創(chuàng)建PVC。
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: pvc-nas spec: accessModes: - ReadWriteMany storageClassName: nas resources: requests: storage: 5Gi
- 創(chuàng)建Pod。使用nas-pod.yaml文件創(chuàng)建Pod。
apiVersion: apps/v1 kind: Deployment metadata: name: nas-static labels: app: nginx spec: replicas: 1 selector: matchLabels: app: nginx template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx ports: - containerPort: 80 volumeMounts: - name: pvc-nas mountPath: /data volumes: - name: pvc-nas persistentVolumeClaim: claimName: pvc-nas
文檔內容是否對您有幫助?