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

在ACK中實現Flexvolume云盤在線擴容

在Kubernetes 1.16版中,云盤數據卷在線擴容已經進入Beta階段,ACK支持在Kubernetes 1.16及以上版本中實現Flexvolume云盤在線擴容。本文介紹在Flexvolume環境中如何進行云盤的動態擴容,從而增加云盤空間。

使用說明

  • 使用限制

    為保證數據擴容安全,在未啟用在線擴容自動完成數據備份功能時,僅支持在線擴容2000 GiB及以下容量的云盤;啟用該功能后,可支持擴容32 TiB及以下容量的云盤。

  • 數據備份

    擴容數據卷前,請先備份云盤快照,以防擴容過程異常導致數據出現問題。

  • 適用范圍

    • 只有動態存儲卷才可以進行數據卷動態擴容,即配置了StorageClassName的PVC。

    • 不支持擴容InlineVolume類型(非PV、PVC方式)的云盤數據卷。

    • 不支持動態擴容普通云盤類型。

    • StorageClass需要配置為AllowVolumeExpansion: True。ACK集群默認提供的StorageClass為True,自建的StorageClass需要自行配置。

    • 應用Pod需處于Running狀態。

  • 插件版本

    升級您使用的CSI插件到最新版本。

為RAM用戶添加ResizeDisk權限

實現云盤在線擴容前,您需要為集群的RAM角色添加ResizeDisk權限。針對不同集群和插件類型,添加ResizeDisk權限的步驟如下:

專有版集群(CSI插件)

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

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

  3. 集群列表頁面,選中目標集群,并在目標集群右側操作列下,單擊詳情。

  4. 在集群管理頁左側導航欄中,單擊集群信息

  5. 單擊集群資源頁簽,單擊Master RAM角色鏈接。

  6. 在RAM控制臺中,添加ResizeDisk權限。添加權限具體步驟,請參見改自定義權限策略內容和備注。resizedisk

專有版集群(Flexvolume插件)、托管版集群(所有插件類型)

重復上述前4個步驟,然后在集群管理頁面單擊Worker RAM 角色鏈接。

不重啟容器實現在線擴容

  1. 獲取集群KubeConfig并通過kubectl工具連接集群。

    本文假設應用的當前狀態如下。

    執行以下命令獲取Pod信息。

    kubectl get pod

    預期輸出:

    web-0         1/1     Running   0          42s

    執行以下命令查看Pod的掛載詳情。

    kubectl exec web-0 -- df /data

    預期輸出:

    Filesystem     1K-blocks  Used Available Use% Mounted on
    /dev/vdb        20511312 45080  20449848   1% /data

    執行以下命令獲取PVC信息。

    kubectl get pvc

    預期輸出:

    NAME             STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS              AGE
    disk-ssd-web-0   Bound    d-wz9hpoifm43yn9zie6gl   20Gi       RWO            alicloud-disk-available   57s

    執行以下命令獲取PV信息。

    kubectl get pv

    預期輸出:

    NAME                     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS     CLAIM                    STORAGECLASS              REASON   AGE
    d-wz9hpoifm43yn9zie6gl   20Gi       RWO            Delete           Bound      default/disk-ssd-web-0   alicloud-disk-available            65s
  2. 在符合使用說明的各個條件下,執行以下命令進行數據卷擴容。

    kubectl patch pvc disk-ssd-web-0 -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'

    等待一定時間(一分鐘以內)后擴容完成,檢查狀態如下。

    執行以下命令獲取PV信息。

    kubectl get pv d-wz9hpoifm43yn9zie6gl

    預期輸出:

    NAME                     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS   CLAIM                    STORAGECLASS              REASON   AGE
    d-wz9hpoifm43yn9zie6gl   30Gi       RWO            Delete           Bound    default/disk-ssd-web-0   alicloud-disk-available            5m23s

    執行以下命令獲取PVC信息。

    kubectl get pvc

    預期輸出:

    NAME             STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS              AGE
    disk-ssd-web-0   Bound    d-wz9hpoifm43yn9zie6gl   30Gi       RWO            alicloud-disk-available   5m10s

    執行以下命令查看Pod的掛載詳情。

    kubectl exec web-0 -- df /data

    預期輸出:

    Filesystem     1K-blocks  Used Available Use% Mounted on
    /dev/vdb        30832548 45036  30771128   1% /data

    您只需要執行一條命令即可完成所有的擴容操作。

重啟容器實現在線擴容

  1. 使用命令行工具連接Kubernetes集群,請參見步驟二:選擇集群憑證類型。

    本文假設應用的當前狀態如下。

    執行以下命令獲取Pod信息。

    kubectl get pod

    預期輸出:

    <your-pod-name>         1/1     Running   0          42s

    執行以下命令查看Pod的掛載詳情。

    kubectl exec <your-pod-name>  -- df /data

    預期輸出:

    Filesystem     1K-blocks  Used   Available Use% Mounted on
    /dev/vdb       20511312   45080  20449848  1%   /data

    執行以下命令獲取PVC信息。

    kubectl get pvc

    預期輸出:

    NAME              STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS                     AGE
    <your-PVC-name>   Bound    d-wz9hpoifm43yn9zi****   20Gi       RWO            alicloud-disk-topology-alltype   57s

    執行以下命令獲取PV信息。

    kubectl get pv

    預期輸出:

    NAME                     CAPACITY   ACCESS MODES   RECLAIM POLICY   STATUS     CLAIM                     STORAGECLASS                     REASON   AGE
    d-wz9hpoifm43yn9zi****   20Gi       RWO            Delete           Bound      default/<your-PVC-name>   alicloud-disk-topology-alltype            65s
  2. 執行以下命令查看PV的調度信息。

    kubectl get pv d-wz9g2j5qbo37r2lamkg4  -oyaml | grep failure-domain.beta.kubernetes.io/zone
        failure-domain.beta.kubernetes.io/zone: cn-shenzhen-e
  3. 修改調度信息label,在zone后面添加字段,促使這個PV關聯的Pod不可調度。

    例如,把以下示例中原來的cn-shenzhen-e改為cn-shenzhen-e-nozone。

    kubectl label pv d-wz9g2j5qbo37r2lamkg4 failure-domain.beta.kubernetes.io/zone=cn-shenzhen-e-nozone --overwrite
    persistentvolume/d-wz9g2j5qbo37r2lamkg4 labeled
  4. 重啟Pod。

    由于修改了調度信息,Pod會暫時處于Pending狀態。

    執行以下命令刪除Pod。

    kubectl delete pod web-0

    執行以下命令獲取Pod信息。

    kubectl get pod

    預期輸出:

    web-0   0/1     Pending   0          27s
  5. 執行以下命令擴容數據卷。

    kubectl patch pvc disk-ssd-web-0 -p '{"spec":{"resources":{"requests":{"storage":"30Gi"}}}}'
  6. 將PV的調度信息label改回去,促使Pod啟動完成(把cn-shenzhen-e-nozone改為起初的cn-shenzhen-e)。

    kubectl label pv d-wz9g2j5qbo37r2lamkg4 failure-domain.beta.kubernetes.io/zone=cn-shenzhen-e --overwrite
    persistentvolume/d-wz9g2j5qbo37r2lamkg4 labeled

    等待一定時間(一分鐘內)后檢查擴容是否符合預期。

    執行以下命令獲取Pod信息。

    kubectl get pod

    預期輸出:

    web-0   1/1     Running   0          3m23s

    執行以下命令獲取PVC信息。

    kubectl get pvc

    預期輸出:

    disk-ssd-web-0   Bound    d-wz9g2j5qbo37r2lamkg4   30Gi       RWO            alicloud-disk-available   17m

    執行以下命令獲取PV信息。

    kubectl get pv d-wz9g2j5qbo37r2lamkg4

    預期輸出:

    d-wz9g2j5qbo37r2lamkg4   30Gi       RWO            Delete           Bound    default/disk-ssd-web-0   alicloud-disk-available            17m

    執行以下命令查看Pod的掛載詳情。

    kubectl exec web-0 -- df /data

    預期輸出:

    /dev/vdb        30832548 45036  30771128   1% /data

    從返回結果中可以看出云盤由20 GiB成功被擴容至30 GiB。