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

使用云盤靜態存儲卷

云盤是阿里云為云服務器ECS提供的數據塊級別的塊存儲產品,具有低時延、高性能、持久性、高可靠等特點。集群支持使用CSI插件創建云盤靜態存儲卷和動態存儲卷,您可以通過手動創建PV及PVC的方式掛載靜態存儲卷以實現應用的持久化存儲。

前提條件

  • 已創建集群,并且在該集群中安裝CSI插件。具體操作,請參見創建ACK托管集群創建集群

    重要
    • 如果您的集群中包含CentOS 7.9鏡像(或其他運行小于4.9版本Linux內核)的宿主機,并且在集群中使用了XFS文件系統(fstype參數設置為xfs)的存儲卷,請勿將CSI組件升級到v1.24.7及以上的版本。因為舊版內核與新版本組件不兼容。如果誤升級,掛載XFS文件系統的存儲卷的Pod將可能無法啟動,對其他文件系統無影響,請提交工單處理。

    • 如需將CSI組件升級至v1.26.4版本,您需要將CSI provisioner和CSI plugin同時升級至該版本。

  • 已創建按量付費的云盤并記錄云盤ID為d-wz92s6d95go6ki9x****。具體操作,請參見創建云盤

    說明

    申請云盤時,請遵循如下容量限制:

    • 高效云盤:最小20 GiB。

    • SSD云盤:最小20 GiB。

    • ESSD云盤:最小20 GiB。

  • 已通過kubectl連接Kubernetes集群。具體操作,請參見通過kubectl工具連接集群

使用場景

云盤的使用場景包括:

  • 對磁盤I/O要求高的應用,且沒有共享數據的需求,如MySQL、Redis等數據存儲服務。

  • 高速寫日志。

  • 持久化存儲數據,不會因Pod生命周期的結束而消失。

靜態云盤的使用場景:已經購買了云盤實例的情況。

靜態云盤使用方式:需手動創建PV及PVC。

使用限制

  • 云盤不支持跨可用區使用,為非共享存儲,且只能同時被一個Pod掛載。

  • 云盤類型和ECS類型需要匹配才可以掛載,否則會掛載失敗。關于云盤類型和ECS類型的匹配關系,請參見實例規格族

    重要

    當您將集群中的ECS實例從按量付費轉換成包年包月時,不能將云盤一起變成包年包月,否則云盤將無法被掛載使用。您可以通過購買SCU的方式降低成本。關于SCU的更多信息,請參見存儲容量單位包SCU概述

通過控制臺的方式使用云盤靜態存儲卷

步驟一:創建PV

  1. 登錄容器服務管理控制臺,在左側導航欄選擇集群

  2. 集群列表頁面,單擊目標集群名稱,然后在左側導航欄,選擇存儲 > 存儲卷

  3. 存儲卷頁面,單擊右上角的創建

  4. 創建存儲卷對話框中配置參數。

    參數

    描述

    存儲卷類型

    本文中選擇為云盤

    • ACK集群:支持云盤、NAS、OSS云存儲類型。

    • ACK Serverless集群:支持云盤、NAS云存儲類型。

    訪問模式

    默認為ReadWriteOnce。

    云盤ID

    您可以選擇與集群屬于相同地域和可用區下處于待掛載狀態的云盤。

    文件系統類型

    您可以選擇以何種數據類型將數據存儲到云盤上,支持的類型包括ext4ext3xfsvfat。默認為ext4

  5. 參數配置完成后,單擊創建

步驟二:創建PVC

  1. 在集群管理頁左側導航欄,選擇存儲 > 存儲聲明

  2. 存儲聲明頁面,單擊右上角的創建

  3. 創建存儲聲明對話框中,配置參數。

    參數

    描述

    存儲聲明類型

    本文中選擇為云盤

    • ACK集群:支持云盤、NAS、OSS云存儲類型。

    • ACK Serverless集群:支持云盤、NAS云存儲類型。

    名稱

    創建的數據卷的名稱,數據卷名在命名空間內必須唯一。

    分配模式

    本文中選擇已有存儲卷。

    說明

    若未創建存儲卷,您可以設置分配模式創建存儲卷,配置創建存儲卷參數。具體操作,請參見創建PV

    已有存儲卷

    單擊已有存儲卷,在目標存儲卷右側操作列單擊選擇,選擇存儲卷。

    總量

    所創建存儲卷的容量。

    說明

    所創建的存儲卷容量不能超過云盤容量。

    訪問模式

    默認為ReadWriteOnce。

  4. 單擊創建

    創建成功后可以在列表中看到存儲聲明,并且已綁定相應的存儲卷。

步驟三:創建應用

  1. 在集群管理頁左側導航欄,選擇工作負載 > 有狀態

  2. 有狀態頁面,單擊使用鏡像創建

  3. 配置創建應用的參數信息。

    以下主要為您介紹數據卷的配置。關于其他參數的描述,請參見創建有狀態工作負載StatefulSet

  4. ACK數據卷支持配置本地存儲和云存儲,本示例需要配置云存儲類型。配置了一個云盤類型的數據卷,將該云盤掛載到容器的/tmp路徑下,在該路徑下生成的容器數據會存儲到云盤中。數據卷

  5. 所有的信息都配置完成后,單擊創建

    創建成功后,您就可以正常使用數據卷。

通過kubectl命令行的方式使用云盤靜態存儲卷

步驟一:創建PV

  1. 使用以下內容,創建pv-static.yaml文件。

    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: csi-pv
      labels:
        alicloud-pvname: static-disk-pv
    spec:
      capacity:
        storage: 25Gi
      accessModes:
        - ReadWriteOnce
      persistentVolumeReclaimPolicy: Retain
      csi:
        driver: diskplugin.csi.alibabacloud.com
        volumeHandle: "<YOUR-DISK-ID>"
      nodeAffinity:
        required:
          nodeSelectorTerms:
          - matchExpressions:
            - key: topology.diskplugin.csi.alibabacloud.com/zone
              operator: In
              values:
              - "<YOUR-NODE-ZONE-ID>"   # 替換為您待部署應用的節點所在的可用區,例如"cn-beijing-b"。

    參數

    說明

    name

    PV的名稱。

    labels

    設置PV的標簽。

    storage

    云盤的可使用量。

    accessModes

    設置訪問模式。

    persistentVolumeReclaimPolicy

    PV的回收策略。

    driver

    定義驅動類型。取值為diskplugin.csi.alibabacloud.com,表示使用阿里云云盤CSI插件。

    volumeHandle

    定義云盤ID。

    nodeAffinity

    定義PV和PVC所屬的區域信息。

    通過定義該參數,可以將PV和PVC所在的Pod調度到對應的區域上。

  2. 執行以下命令,創建PV。

    kubectl create -f pv-static.yaml
  3. 查看創建的PV。

    1. 登錄容器服務管理控制臺

    2. 在控制臺左側導航欄,單擊集群

    3. 集群列表頁面,單擊目標集群名稱或者目標集群右側操作列下的詳情

    4. 在集群管理頁左側導航欄選擇存儲 > 存儲卷

      存儲卷頁面可查看創建的PV。

步驟二:創建PVC

  1. 使用以下內容,創建pvc-static.yaml文件。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: csi-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 25Gi
      selector:
        matchLabels:
          alicloud-pvname: static-disk-pv

    參數

    說明

    name

    PVC的名稱。

    accessModes

    設置訪問模式。

    storage

    聲明應用使用量,不能大于存儲卷的總量。

    matchLabels

    通過標簽關聯PV,與PV標簽保持一致。

  2. 執行以下命令,創建PVC。

    kubectl create -f pvc-static.yaml
  3. 在集群管理頁左側導航欄選擇存儲 > 存儲聲明

    存儲聲明頁面可看到創建的PVC。

步驟三:創建應用

本文以MySQL應用為例,在應用中掛載PVC。

  1. 使用以下內容,創建mysql.yaml文件。

    apiVersion: apps/v1
    kind: StatefulSet
    metadata:
      name: mysql
    spec:
      selector:
        matchLabels:
          app: mysql
      serviceName: mysql
      template:
        metadata:
          labels:
            app: mysql
        spec:
          containers:
          - name: mysql
            image: mysql:5.7
            env:
            - name: MYSQL_ROOT_PASSWORD
              valueFrom:
                secretKeyRef:
                  name: mysql-pass
                  key: password
            ports:
            - containerPort: 80
              name: mysql
            volumeMounts:
            - name: pvc-disk
              mountPath: /data
          volumes:
            - name: pvc-disk
              persistentVolumeClaim:
                claimName: csi-pvc
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: mysql-pass
    type: Opaque
    data:
      username: dGVz****             # MySQL應用的用戶名,需替換為您實際的用戶名。
      password: dGVzdDEt****     # MySQL應用的用戶密碼,需替換為您實際的用戶密碼。
    • mountPath:云盤在容器中掛載的位置。

    • claimName:PVC的名稱,用于綁定PVC。

  2. 執行以下命令,創建一個掛載了云盤靜態存儲卷的應用并掛載PVC。

    kubectl apply -f mysql.yaml
  3. 在集群管理頁左側導航欄選擇工作負載 > 有狀態

    有狀態頁面可看到創建的MySQL應用。

驗證靜態云盤的持久化存儲

  1. 查看部署MySQL應用的Pod和云盤文件。

    1. 執行以下命令,查看部署的MySQL應用所在Pod的名稱。

      kubectl get pod | grep mysql

      預期輸出:

      mysql-1**** 1/1 Running 0 32s
    2. 執行以下命令,查看/data路徑下是否掛載了新的云盤。

      kubectl exec mysql-1**** -- df | grep data

      預期輸出:

      /dev/vdf 20511312 45080 20449848 1% /data
    3. 執行以下命令,查看/data路徑下的文件。

      kubectl exec mysql-1**** -- ls /data

      預期輸出:

      lost+found
  2. 執行以下命令,在/data路徑下創建文件static

    kubectl exec mysql-1**** -- touch /data/static
  3. 執行以下命令,查看/data路徑下的文件。

     kubectl exec mysql-1**** -- ls /data

    預期輸出:

    lost+found
    static
  4. 執行以下命令,刪除名稱為mysql-1****的Pod。

    kubectl delete pod mysql-1****

    預期輸出:

    pod "mysql-1****" deleted
  5. 驗證刪除Pod后,云盤里創建的文件是否還存在。

    1. 執行以下命令,查看重建的Pod名稱。

      kubectl get pod

      預期輸出:

      NAME       READY   STATUS    RESTARTS    AGE 
      mysql-2****  1/1     Running   0           14s
    2. 執行以下命令,查看/data路徑下的文件。

      kubectl exec mysql-2**** -- ls /data

      預期輸出:

      lost+found
      static

      static文件仍然存在,則說明靜態云盤的數據可持久化保存。