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

管理OSS生命周期

容器服務ACK使用CNFS(Container Network File System)對OSS Bucket全生命周期的管理,實現對Bucket層的獨立管理。本文介紹如何使用CNFS對OSS Bucket全生命周期的管理及CNFS在工作負載中的應用。

前提條件

功能介紹

您可以通過以下兩種方式使用CNFS對OSS全生命周期的管理:

  • 方式一:使用CNFS創建以cnfs-oss-為名稱的OSS Bucket

    使用CNFS創建集群唯一的對象存儲桶,可以提供動態OSS PV能力。以cnfs-oss-<UUID e.g. clusterid>為名稱的OSS Bucket,使用OSS動態存儲卷自動掛載創建的OSS Bucket,同時將OSS動態存儲卷綁定到工作負載Deployment和StatefulSet中。

  • 方式二:使用已有的OSS Bucket創建CNFS

    使用CNFS指向已經存在的Bucket,可以通過創建一個CNFS CRD并指定對象存儲的桶名(BucketName)來完成創建。然后使用OSS靜態存儲卷或OSS動態存儲卷掛載已有的OSS Bucket,同時將創建的OSS靜態存儲卷或OSS動態存儲卷綁定到工作負載Deployment中。

說明

BucketNamecnfs-oss-<UUID e.g. clusterid>說明如下:

  • 如果BucketName已存在,使用Bucket作為ContainerNetworkFileSystem對應的目標Bucket。

  • 如果BucketName不存在,則會創建名稱為指定名稱的Bucket,并創建相應的ContainerNetworkFileSystem。比如:指定名稱為cnfs-oss-<clusterid>,系統會創建Bucket名稱為cnfs-oss-<clusterid>的對象存儲,其中<clusterid>為ACK集群的ClusterID,保證BucketName全局唯一。

方式一:使用CNFS創建以cnfs-oss-<UUID e.g. clusterid>為名稱的OSS Bucket

  1. 執行以下內容,使用CNFS創建以cnfs-oss-<UUID e.g. clusterid>為名稱的OSS Bucket,并通過動態存儲卷的方式,將OSS Bucket綁定到工作負載Deployment和StatefulSet中。

    替換以下<clusterid>為您的集群ID。

    # 創建CNFS、StorageClass和Deployment、StatefulSet對象。
    cat << EOF | kubectl apply -f -
    apiVersion: v1
    kind: Secret
    metadata:
      name: oss-secret
    stringData:
      akId: "xxxx"     #OSS Bucket掛載時必需的AKSK。
      akSecret: "xxxx"
    ---
    apiVersion: storage.alibabacloud.com/v1beta1
    kind: ContainerNetworkFileSystem
    metadata:
      name: cnfs-oss-<clusterid>   #建議CNFS的名稱與BucketName一致。
    spec:
      description: "cnfs-oss"
      type: oss
      reclaimPolicy: Retain        #只支持Retain策略,刪除CNFS時并不會刪除OSS Bucket。
      parameters:
        bucketName: cnfs-oss-<clusterid>  #如果Bucket已存在,會讀取Bucket信息。如果Bucket不存在,則會創建名稱為cnfs-oss-clusterid的Bucket,ClusterId需要填寫為ACK集群的clusterid,來保證BucketName全局唯一。
        encryptType: "AES256"   #如果Bucket已存在,會將Bucket加密方式修改為AES256。如果Bucket不存在,會使用AES256作為加密方式。
        storageType: "Standard"  #OSS Bucket使用標準存儲類型。
        aclType: "private"       #OSS Bucket的擁有者和授權用戶有該Bucket內的文件的讀寫權限。
    ---
    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alibabacloud-cnfs-oss
    parameters:
      containerNetworkFileSystem: cnfs-oss-<clusterid>   #創建StorageClass時,使用名稱為cnfs-oss-clusterid的CNFS的Bucket信息。
      otherOpts: -o max_stat_cache_size=0 -o allow_other #緩存相關操作。
      path: /
      # volumeAs: subpath 在path路徑下為自動為每個PV創建子路徑
      csi.storage.k8s.io/node-publish-secret-name: oss-secret      #使用oss-secret作為掛載的Secret。
      csi.storage.k8s.io/node-publish-secret-namespace: default    #oss-secret所在的命名空間。
    provisioner: ossplugin.csi.alibabacloud.com
    reclaimPolicy: Retain
    ---
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: cnfs-oss-pvc
    spec:
      accessModes:
        - ReadOnlyMany
      storageClassName: alibabacloud-cnfs-oss   #創建PVC時,使用名稱為alibabacloud-cnfs-oss的StoragClass。
      resources:
        requests:
          storage: 100Gi
    ---
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: cnfs-oss-deployment
      labels:
        app: nginx
    spec:
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            volumeMounts:
            - mountPath: "/data"
              name: cnfs-oss-pvc
          volumes:
          - name: cnfs-oss-pvc   #創建Deployment時,使用名稱為cnfs-oss-pvc的PVC。
            persistentVolumeClaim:
              claimName: cnfs-oss-pvc
    ---
    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: cnfs-oss-sts
      labels:
        app: nginx
    spec:
      serviceName: "nginx"
      replicas: 2
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            volumeMounts:
            - mountPath: "/data"
              name: www
      volumeClaimTemplates:
      - metadata:
          name: www
        spec:
          accessModes: [ "ReadOnlyMany" ]
          storageClassName: "alibabacloud-cnfs-oss"   #創建StatefulSet時,使用名稱為cnfs-oss-pvc的PVC。
          resources:
            requests:
              storage: 100Gi
    EOF

    CNFS輸入參數說明:

    參數

    說明

    description

    當前文件系統的簡單描述。

    type

    需要創建的存儲卷類型。

    reclaimPolicy

    回收策略,目前僅支持Retain策略,刪除CNFS時并不會刪除OSS Bucket。

    parameters.bucketName

    OSS Bucket的名稱。

    parameters.storageType

    存儲類型,默認為Standard。取值:

    • Standard:標準存儲。

    • IA:低頻訪問。

    • Archive:歸檔存儲。

    • ColdArchive:冷歸檔存儲。

    說明

    使用歸檔存儲和冷歸檔存儲的文件無法直接被讀寫訪問,需要解凍后再訪問。

    parameters.redundancyType

    存儲冗余類型,默認為ZRS。取值:

    • LRS(本地冗余存儲):采用單可用區(AZ)內的數據冗余存儲機制,將用戶的數據冗余存儲在同一個可用區內多個設施的多個設備上。本地冗余存儲能確保硬件失效時的數據持久性和可用性。

    • ZRS(同城冗余存儲):采用多可用區(AZ)內的數據冗余存儲機制,將用戶的數據冗余存儲在同一地域(Region)的多個可用區。當某個可用區不可用時,同城冗余存儲仍然能夠保障數據的正常訪問。

    重要
    • 僅storage-operator組件為v1.26.2-1de13b6-aliyun或以上版本時,支持該參數設置。

    • 使用ZRS時,無法使用OSS冷歸檔存儲和深度冷歸檔存儲。

    • storageType和redundancyType的相關計費說明,請參見計費項。

    parameters.encryptType

    加密方式。

    • None:不加密。

    • AES256:使用OSS服務端的AES256加密。

    • SM4:使用OSS服務端的SM4加密。

    parameters.aclType

    指定Bucket的訪問權限ACL,默認為private。取值:

    • public-read-write(公共讀寫):所有用戶都有該Bucket內文件的讀寫權限。請謹慎使用該訪問權限。

    • public-read(公共讀):Bucket的擁有者和授權用戶有該Bucket內文件的讀寫權限,其他用戶只有該Bucket內文件的讀權限。請謹慎使用該訪問權限。

    • private(私有):Bucket的擁有者和授權用戶有該Bucket內文件的讀寫權限,其他用戶沒有權限操作該Bucket內的文件。

    parameters.enableVersioning

    Bucket版本控制狀態,默認為Enabled。取值:

    • Enabled:開啟版本控制。

    • Suspended:暫停版本控制。

    • None:不開啟版本控制。

    重要
    • 僅storage-operator組件為v1.26.2-1de13b6-aliyun或以上版本時,支持該參數設置。

    • Bucket版本控制,與合規保留策略以及OSS-HDFS服務無法同時配置,若您后續計劃開通這兩項服務,請配置enableVersioning為None。

    • 如果Bucket處于Enabled開啟版本狀態,將無法返回至None未開啟狀態。此時,您可以暫停Bucket的版本控制狀態。

    • 版本控制功能本身不收取任何費用,但對當前版本和所有歷史版本的文件都會收取存儲費用。您可以通過配置生命周期回收歷史版本。更多信息,請參見生命周期概述

  2. 執行以下命令,查看創建的OSS Bucket。

    kubectl get cnfs/cnfs-oss-<clusterid> -o yaml

    預期輸出:

    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-oss-xxxxxxxxxx"},"spec":{"description":"cnfs-oss","parameters":{"aclType":"private","bucketName":"cnfs-oss-clusterid","encryptType":"AES256","storageType":"Standard"},"reclaimPolicy":"Retain","type":"oss"}}
      creationTimestamp: "2022-09-18T07:02:34Z"
      finalizers:
      - protection.alibabacloud.com/cnfs
      generation: 6
      name: cnfs-oss-****
      resourceVersion: "8091291"
      uid: ca187b2a-3bfa-4a5f-82d8-ca1b1f69****
    spec:
      description: cnfs-oss
      parameters:
        aclType: private
        bucketName: cnfs-oss-****
        encryptType: AES256
        storageType: Standard
      reclaimPolicy: Retain
      type: oss
    status:
      conditions:
      - lastProbeTime: "2022-09-18 15:02:39"
        reason: The oss bucket is complete initialization.
        status: Ready
      fsAttributes:
        accessGroupName: DEFAULT_VPC_GROUP_NAME
        aclType: private
        bucketName: cnfs-oss-****
        encryptType: AES256
        endPoint:
          extranet: oss-****.aliyuncs.com
          internal: oss-****-internal.aliyuncs.com
        regionId: ****
        storageType: Standard
      status: Available

    CNFS輸出參數說明:

    參數

    說明

    status

    CNFS的當前狀態,包括以下狀態:

    • Pending:等待。

    • Creating:創建中。

    • Initialization:創建文件系統中。

    • Available:可用。

    • Unavailable:暫時不可用,可以恢復為可用狀態。

    • Fatal:不可用,無法恢復。

    • Terminating:刪除中。

    conditions.lastProbeTime

    最后探活的時間。

    conditions.reason

    處于當前狀態的原因。

    conditions.status

    當前狀態是否可用。

    • Ready:可用狀態。

    • NotReady:不可用狀態。

    fsAttributes.accessGroupName

    掛載點所應用的權限組名稱,目前僅支持DEFAULT_VPC_GROUP_NAME(專有網絡默認權限組)。

    fsAttributes.encryptType

    加密方式。

    • None:不加密。

    • AES256:使用OSS服務端的AES256加密。

    • SM4:使用OSS服務端的SM4加密。

    fsAttributes.regionId

    ACK集群所在的地域。

    fsAttributes.storageType

    存儲類型,默認為Standard。

    • Standard:標準存儲。

    • IA:低頻訪問。

    • Archive:歸檔存儲。

    • ColdArchive:冷歸檔存儲。

    說明

    使用歸檔存儲和冷歸檔存儲的文件無法直接被讀寫訪問,需要解凍后再訪問。

    fsAttributes.redundancyType

    存儲冗余類型,默認為ZRS。取值:

    • LRS(本地冗余存儲):采用單可用區(AZ)內的數據冗余存儲機制,將用戶的數據冗余存儲在同一個可用區內多個設施的多個設備上。本地冗余存儲能確保硬件失效時的數據持久性和可用性。

    • ZRS(同城冗余存儲):采用多可用區(AZ)內的數據冗余存儲機制,將用戶的數據冗余存儲在同一地域(Region)的多個可用區。當某個可用區不可用時,同城冗余存儲仍然能夠保障數據的正常訪問。

    重要
    • 僅storage-operator組件為v1.26.2-1de13b6-aliyun或以上版本時,支持該參數設置。

    • 使用ZRS時,無法使用OSS冷歸檔存儲和深度冷歸檔存儲。

    • storageType和redundancyType的相關計費說明,請參見計費項

    fsAttributes.aclType

    CNFS指定Bucket的訪問權限ACL,默認為private。

    fsAttributes.endPoint

    CNFS的端點地址。

    • extranet:公網端點地址。

    • internal:內網端點地址。

    fsAttributes.enableVersioning

    Bucket版本控制狀態,默認為Enabled。取值:

    • Enabled:開啟版本控制。

    • Suspended:暫停版本控制。

    • None:不開啟版本控制。

    重要
    • 僅storage-operator組件為v1.26.2-1de13b6-aliyun或以上版本時,支持該參數設置。

    • Bucket版本控制,與合規保留策略以及OSS-HDFS服務無法同時配置,若您后續計劃開通這兩項服務,請配置enableVersioning為None。

    • 如果Bucket處于Enabled開啟版本狀態,將無法返回至None未開啟狀態。此時,您可以暫停Bucket的版本控制狀態。

    • 版本控制功能本身不收取任何費用,但對當前版本和所有歷史版本的文件都會收取存儲費用。您可以通過配置生命周期回收歷史版本。更多信息,請參見生命周期概述。

  3. 執行以下命令,查看已創建應用的狀態。

    kubectl get pod

    預期輸出:

    NAME                                   READY   STATUS    RESTARTS   AGE
    cnfs-oss-deployment-5864fd8d98-4****   1/1     Running   0          2m21s
    cnfs-oss-sts-0                         1/1     Running   0          2m21s
    cnfs-oss-sts-1                         1/1     Running   0          2m16s

    由預期輸出可得,所創建的Deployment、StatefulSet為Running狀態,表示該Deployment已正常使用CNFS。

方式二:使用已有的OSS Bucket創建CNFS

使用CNFS指向已經存在的Bucket,可以通過創建一個CNFS CRD并指定對象存儲的桶名(BucketName)來完成創建。然后使用OSS靜態存儲卷或OSS動態存儲卷掛載已有的OSS Bucket,同時將創建的OSS靜態存儲卷或OSS動態存儲卷綁定到工作負載Deployment中。

  1. 執行以下命令,使用已有的OSS Bucket創建CNFS。

    cat <<EOF | kubectl apply -f -
    apiVersion: storage.alibabacloud.com/v1beta1
    kind: ContainerNetworkFileSystem
    metadata:
      name: cnfs-oss-exist-bucket-name
    spec:
      description: "cnfs-oss"
      type: oss
      reclaimPolicy: Retain
      parameters:
        bucketName: bucket-name #已經存在的OSS Bucket名稱。
    EOF
  2. 執行以下命令,查看OSS Bucket的詳細信息。

    kubectl get cnfs/cnfs-oss-exist-bucket-name -o yaml

    預期輸出:

    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-oss-xxxx"},"spec":{"description":"cnfs-oss","parameters":{"bucketName":"exist-bucket-name"},"reclaimPolicy":"Retain","type":"oss"}}
      creationTimestamp: "2022-09-14T09:21:10Z"
      finalizers:
      - protection.alibabacloud.com/cnfs
      generation: 7
      name: cnfs-oss-exist-bucket-name
      resourceVersion: "6504134"
      uid: 921564ac-0cd8-4a89-997d-c2393afd****
    spec:
      description: cnfs-oss
      parameters:
        bucketName: exist-bucket-name
      reclaimPolicy: Retain
      type: oss
    status:
      conditions:
      - lastProbeTime: "2022-09-14 17:00:21"
        reason: The oss bucket is complete initialization.
        status: Ready
      fsAttributes:
        accessGroupName: DEFAULT_VPC_GROUP_NAME
        aclType: private
        bucketName: exist-bucket-name
        encryptType: AES256
        endPoint:
          extranet: oss-****.aliyuncs.com           
          internal: oss-****-internal.aliyuncs.com
        regionId: ****
        storageType: Standard
      status: Available
  3. 在OSS存儲卷中應用CNFS。

    具體操作,請參見方式一:使用CNFS創建以cnfs-oss-為名稱的OSS Bucket,通過動態存儲卷的方式應用CNFS。