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

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。配置樣本如下:
將以下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 # 聲明臨時儲存空間大小建立工作負載。
kubectl apply -f extra-storage.yaml查看Pod部署情況。
kubectl get pod預期返回:
NAME READY STATUS RESTARTS AGE test-ff8767b7b-**** 1/1 Running 0 54s查看臨時儲存空間是否生效。
查看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通過
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