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

使用云盤靜態(tài)存儲卷實現(xiàn)持久化存儲-Flexvolume

當(dāng)容器發(fā)生宕機故障時,有狀態(tài)服務(wù)容器存儲的業(yè)務(wù)數(shù)據(jù)存在著丟失和不可靠等風(fēng)險。使用持久化存儲可以解決該問題。本文介紹如何使用云盤靜態(tài)存儲卷實現(xiàn)持久化存儲。

前提條件

請確保您已完成以下操作:

背景信息

云盤的使用場景包括:
  • 對磁盤I/O要求高的應(yīng)用,且沒有共享數(shù)據(jù)的需求,如MySQL、Redis等數(shù)據(jù)存儲服務(wù)。
  • 高速寫日志。
  • 持久化存儲數(shù)據(jù),不因Pod生命周期的結(jié)束而消失。

靜態(tài)云盤的使用場景:已經(jīng)購買了云盤實例的情況。

靜態(tài)云盤使用方式:需手動創(chuàng)建PV及PVC。請參見使用云盤靜態(tài)存儲卷。

使用限制

  • 云盤為阿里云存儲團隊提供的非共享存儲,只能同時被一個Pod掛載。
  • 集群中只有與云盤在同一個可用區(qū)(Zone)的節(jié)點才可以掛載云盤。

創(chuàng)建PV

  1. 創(chuàng)建pv-static.yaml文件。
    apiVersion: v1
    kind: PersistentVolume
    metadata:
      name: <your-disk-id>
      labels:
        alicloud-pvname: <your-disk-id>
        failure-domain.beta.kubernetes.io/zone: <your-zone>
        failure-domain.beta.kubernetes.io/region: <your-region>
    spec:
      capacity:
        storage: 20Gi
      accessModes:
        - ReadWriteOnce
      flexVolume:
        driver: "alicloud/disk"
        fsType: "ext4"
        options:
          volumeId: "<your-disk-id>"
    說明
    • alicloud-pvname: <your-disk-id>:PV的名稱。需要與云盤ID一致。
    • failure-domain.beta.kubernetes.io/zone: <your-zone>:云盤所在的可用區(qū)。例如:cn-hangzhou-b。
    • failure-domain.beta.kubernetes.io/region: <your-region>:云盤所在的地域。例如:cn-hangzhou

    failure-domain.beta.kubernetes.io/zonefailure-domain.beta.kubernetes.io/region,在多可用區(qū)的情況下,必須配置,可保證您的Pod調(diào)度到云盤所在的可用區(qū)。

  2. 執(zhí)行以下命令,創(chuàng)建PV。
    kubectl create -f pv-static.yaml
    驗證結(jié)果
    1. 登錄容器服務(wù)管理控制臺。
    2. 在控制臺左側(cè)導(dǎo)航欄中,單擊集群
    3. 集群列表頁面中,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情。
    4. 在集群管理頁左側(cè)導(dǎo)航欄中,單擊存儲 > 存儲卷,可以看到剛剛創(chuàng)建的PV。創(chuàng)建PV

創(chuàng)建PVC

  1. 創(chuàng)建pvc-static.yaml文件。
    kind: PersistentVolumeClaim
    apiVersion: v1
    metadata:
      name: pvc-disk
    spec:
      accessModes:
        - ReadWriteOnce
      resources:
        requests:
          storage: 20Gi
      selector:
        matchLabels:
          alicloud-pvname: <your-disk-id>
  2. 執(zhí)行以下命令,創(chuàng)建PVC。
    kubectl create -f pvc-static.yaml
    驗證結(jié)果
    1. 登錄容器服務(wù)管理控制臺。
    2. 在控制臺左側(cè)導(dǎo)航欄中,單擊集群。
    3. 集群列表頁面中,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情。
    4. 在集群管理頁左側(cè)導(dǎo)航欄中,單擊存儲 > 存儲聲明。
    5. 存儲聲明頁面,可以看到剛剛創(chuàng)建的PVC。

創(chuàng)建應(yīng)用

  1. 創(chuàng)建static.yaml文件。
    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx-static
      labels:
        app: nginx
    spec:
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: nginx
            volumeMounts:
              - name: disk-pvc
                mountPath: "/data"
          volumes:
            - name: disk-pvc
              persistentVolumeClaim:
                claimName: pvc-disk
  2. 執(zhí)行以下命令,創(chuàng)建靜態(tài)應(yīng)用。
    kubectl create -f static.yaml
    驗證結(jié)果
    1. 登錄容器服務(wù)管理控制臺
    2. 在控制臺左側(cè)導(dǎo)航欄中,單擊集群。
    3. 集群列表頁面中,單擊目標(biāo)集群名稱或者目標(biāo)集群右側(cè)操作列下的詳情
    4. 在集群管理頁左側(cè)導(dǎo)航欄中,選擇工作負載 > 無狀態(tài)。
    5. 無狀態(tài)頁面,可以看到剛剛創(chuàng)建的靜態(tài)應(yīng)用。

靜態(tài)云盤的持久化存儲

  1. 執(zhí)行以下命令,查看部署的靜態(tài)應(yīng)用所在Pod的名稱。
    kubectl get pod | grep static

    預(yù)期輸出:

    nginx-static-78c7dcb9d7-g****   2/2     Running     0          32s
  2. 執(zhí)行以下命令,查看/data路徑下是否掛載了新的云盤。
    kubectl exec nginx-static-78c7dcb9d7-g**** -- df | grep data

    預(yù)期輸出:

    /dev/vdf        20511312    45080  20449848   1% /data
  3. 執(zhí)行以下命令,查看/data路徑下的文件。
    kubectl exec nginx-static-78c7dcb9d7-g**** -- ls /data

    預(yù)期輸出:

    lost+found
  4. 執(zhí)行以下命令,在/data路徑下創(chuàng)建文件static。
    kubectl exec nginx-static-78c7dcb9d7-g**** -- touch /data/static
  5. 執(zhí)行以下命令,查看/data路徑下的文件。
    kubectl exec nginx-static-78c7dcb9d7-g**** -- ls /data

    預(yù)期輸出:

    static
    lost+found
  6. 執(zhí)行以下命令,刪除名稱為nginx-static-78c7dcb9d7-g****的Pod。
    kubectl delete pod nginx-static-78c7dcb9d7-g****

    預(yù)期輸出:

    pod "nginx-static-78c7dcb9d7-g****" deleted
  7. 同時在另一個窗口中,執(zhí)行以下命令,查看Pod刪除及Kubernetes重建Pod的過程。
    kubectl get pod -w -l app=nginx

    預(yù)期輸出:

    NAME                            READY   STATUS            RESTARTS   AGE
    nginx-static-78c7dcb9d7-g****   2/2     Running           0          50s
    nginx-static-78c7dcb9d7-g****   2/2     Terminating       0          72s
    nginx-static-78c7dcb9d7-h****   0/2     Pending           0          0s
    nginx-static-78c7dcb9d7-h****   0/2     Pending           0          0s
    nginx-static-78c7dcb9d7-h****   0/2     Init:0/1          0          0s
    nginx-static-78c7dcb9d7-g****   0/2     Terminating       0          73s
    nginx-static-78c7dcb9d7-h****   0/2     Init:0/1          0          5s
    nginx-static-78c7dcb9d7-g****   0/2     Terminating       0          78s
    nginx-static-78c7dcb9d7-g****   0/2     Terminating       0          78s
    nginx-static-78c7dcb9d7-h****   0/2     PodInitializing   0          6s
    nginx-static-78c7dcb9d7-h****   2/2     Running           0          8s
  8. 執(zhí)行以下命令,查看Kubernetes重建的Pod名稱。
    kubectl get pod

    預(yù)期輸出:

    NAME                            READY   STATUS      RESTARTS   AGE
    nginx-static-78c7dcb9d7-h****   2/2     Running     0          14s
  9. 執(zhí)行以下命令,查看/data路徑下的文件,剛剛創(chuàng)建的文件static并沒有被刪除,說明靜態(tài)云盤的數(shù)據(jù)可持久保存。
    kubectl exec nginx-static-78c7dcb9d7-h6brd -- ls /data

    預(yù)期輸出:

    static
    lost+found