全部產品
Search
文件中心

Container Compute Service:增加臨時儲存空間大小

更新時間:Feb 07, 2025

ACS Pod預設提供30 GiB的免費的臨時儲存空間(EphemeralStorage),如果該儲存空間大小無法滿足您的需求,您可以自訂增加臨時儲存空間大小。

背景資訊

每個ACS Pod預設提供30 GiB的臨時儲存空間(免費),如下圖所示。

臨時儲存1

重要

ACS Pod啟動所使用的容器鏡像會佔用該30 GiB空間。容器鏡像需要佔用的空間大小至少為容器鏡像大小*2,具體大小視鏡像的壓縮率決定。

計費說明

臨時儲存空間(EphemeralStorage)如果超出了30 GiB,超出的部分按照雲端硬碟價格收取費用。

費用 = 雲端硬碟單價 * 增加的臨時儲存空間容量 * 使用時間長度。

  • 雲端硬碟單價:按照ESSD PL1類型的雲端硬碟按量價格進行計費。不同地區下雲端硬碟單價不同,具體請參見Block Storage價格頁

  • 增加的臨時儲存空間容量:自行聲明增加的容量,即超出了30 GiB的容量大小。

  • 使用時間長度:按秒計算。臨時儲存空間隨ACS Pod一起建立和釋放,使用時間長度與Pod運行時間長度一致。

配置說明

ACS支援以下兩種方式為Pod增加臨時儲存空間大小。

  • (推薦)方式1:添加Annotation

    建立ACS Pod時,可以通過alibabacloud.com/extra-ephemeral-storage的Annotation聲明要增加的臨時儲存空間大小。

  • 方式2:設定容器的resource

    建立ACS Pod時,在容器的.resources.requests.ephemeral-storage中聲明臨時儲存空間大小。如果設定的值≤30 GiB,則實際建立的臨時儲存空間大小會自動規整到30 GiB;如果設定的值>30 GiB,則超出的部分即為增加的臨時儲存空間大小。

配置樣本

假設您要建立的ACS Pod需要增加20 GiB臨時儲存空間,即EphemeralStorage = 預設30 GiB + 新增20 GiB = 50 GiB。配置樣本如下:

  1. 將以下YAML內容儲存為extra-storage.yaml。

    方式1:添加Annotation

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
          annotations:
            alibabacloud.com/extra-ephemeral-storage: "20Gi"  # 聲明要增加的臨時儲存空間大小
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80

    方式2:設定容器的resource

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: test
      labels:
        app: nginx
    spec:
      replicas: 1
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: registry.cn-hangzhou.aliyuncs.com/acs-sample/nginx:latest
            ports:
            - containerPort: 80
            resources: 
              requests: 
                ephemeral-storage: 50Gi   #  聲明臨時儲存空間大小
  2. 建立工作負載。

    kubectl apply -f extra-storage.yaml
  3. 查看Pod部署情況。

    kubectl get pod

    預期返回:

    NAME                  READY   STATUS    RESTARTS   AGE
    test-ff8767b7b-****   1/1     Running   0          54s
  4. 查看臨時儲存空間是否生效。

    1. 查看Pod追加的Annotation,確認臨時儲存空間大小。

      通過alibabacloud.com/pod-ephemeral-storage的值可以確認ACS Pod的臨時儲存空間大小,單位是GiB。

      kubectl describe pod test-ff8767b7b-**** | grep alibabacloud.com/pod-ephemeral-storage

      預期返回如下,可以看到臨時儲存空間大小為50 GiB。

      alibabacloud.com/pod-ephemeral-storage: 50Gi
    2. 通過exec命令進入容器,然後執行df -h命令查看容器的檔案系統分區是否擴容成功。

      kubectl exec -it test-ff8767b7b-**** -- sh
      df -h

      預期返回如下,可以看到實際可用空間(overlay )為50 GiB。

      Filesystem      Size  Used Avail Use% Mounted on
      overlay          50G  2.7G   45G   6% /
      tmpfs            64M     0   64M   0% /dev
      tmpfs           2.8G     0  2.8G   0% /sys/fs/cgroup
      /dev/vda5        50G  2.7G   45G   6% /etc/hosts
      shm              64M     0   64M   0% /dev/shm
      tmpfs           4.0G   12K  4.0G   1% /run/secrets/kubernetes.io/serviceaccount
      tmpfs           2.8G     0  2.8G   0% /proc/acpi
      tmpfs           2.8G     0  2.8G   0% /proc/scsi
      tmpfs           2.8G     0  2.8G   0% /sys/firmware