日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

使用CNFS管理NAS隔離存儲卷(推薦)

容器服務 Kubernetes 版支持以NAS隔離存儲卷的方式掛載和使用CNFS。在多租戶環境或其他需要數據隔離的場景中,您可以通過CNFS管理NAS隔離存儲卷,在多個應用或Pod之間掛載同一個NAS文件系統的不同目錄,使得每個目錄均對應一個存儲卷,存儲卷之間是相互獨立的、相互隔離的。本文以StatefulSet類型應用為例介紹如何使用CNFS管理NAS隔離存儲卷。

前提條件

步驟一:創建隔離存儲卷的工作負載

  • 創建名稱為cnfs-nas-scStorageClass對象,PV對象中引用名稱為cnfs-nas-filesystemCNFS。

  • 創建名稱為cnfs-nas-dynamic-stsStatefulSet對象。

    • StatefulSet對象使用volumeClaimTemplates創建一個名稱為pvc-cnfs-nas-dynamic-sts-0PVC對象。

    • StatefulSet對象中使用busybox鏡像掛載PVC,并將1 G的臨時數據1G.tmpfile寫入掛載點中。

cat << EOF | kubectl apply -f -
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: cnfs-nas-sc
mountOptions:
  - nolock,tcp,noresvport
  - vers=3
parameters:
  volumeAs: subpath
  containerNetworkFileSystem: cnfs-nas-filesystem # 引用名稱為cnfs-nas-filesystem的CNFS對象。
  path: "/"
  archiveOnDelete: "false"
provisioner: nasplugin.csi.alibabacloud.com
reclaimPolicy: Delete
allowVolumeExpansion: true
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: cnfs-nas-dynamic-sts
  labels:
    app: busybox
spec:
  serviceName: "busybox"
  replicas: 2
  selector:
    matchLabels:
      app: busybox
  template:
    metadata:
      labels:
        app: busybox
    spec:
      containers:
      - name: busybox
        image: busybox
        command: ["/bin/sh"]
        args: ["-c", "sleep 3600;"]
        volumeMounts:
        - mountPath: "/data"
          name: pvc
  volumeClaimTemplates:
  - metadata:
      name: pvc
    spec:
      accessModes: [ "ReadWriteOnce" ]
      storageClassName: "cnfs-nas-sc" # 引用名稱為cnfs-nas-sc的StorageClass對象。
      resources:
        requests:
          storage: 50Gi
EOF

步驟二:查看掛載情況

執行如下命令,查看掛載情況。

kubectl exec cnfs-nas-dynamic-sts-0 -- mount |grep nfs

預期輸出:

971134b0e8-****.cn-zhangjiakou.nas.aliyuncs.com:/nas-95115c94-2ceb-4a83-b4f4-37bd35df**** on /data type nfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,default_permissions,allow_other)

預期輸出表明,掛載成功。

步驟三:查看持久化數據是否寫入成功

執行以下命令,寫入1 G的臨時文件。

kubectl exec cnfs-nas-dynamic-sts-0 -ti -- sh -c 'dd if=/dev/zero of=/data/1G.tmpfile bs=1G count=1;'

執行如下命令,查看1 G的臨時文件是否寫入成功。

kubectl exec cnfs-nas-dynamic-sts-0 -- ls -arlth /data

預期輸出:

total 1G
-rw-r--r--    1 root     root        1.0G Dec 15 12:11 1G.tmpfile

預期輸出表明,在/data下已經成功寫入1 G的臨時文件1G.tmpfile

步驟四:查看寫入的數據是否在其他Pod中隔離

執行以下命令,查看1 G的臨時文件是否在Pod cnfs-nas-dynamic-sts-1中隔離。

kubectl exec cnfs-nas-dynamic-sts-1 -- ls -arlth /data

預期輸出:

sh-4.4# ls -arlth
total 8.0K
drwxr-xr-x 1 root root 4.0K Dec 15 18:07 ..
drwxr-xr-x 2 root root 4.0K Dec 15 18:07 .

預期輸出表明,在Pod cnfs-nas-dynamic-sts-0中寫入了1 G的臨時文件1G.tmpfile,在Pod cnfs-nas-dynamic-sts-1中相互隔離。

相關文檔