ACS Pod默认提供30 GiB的免费的临时存储空间(EphemeralStorage),如果该存储空间大小无法满足您的需求,您可以自定义增加临时存储空间大小。
背景信息
每个ACS Pod默认提供30 GiB的临时存储空间(免费),如下图所示。

ACS Pod启动所使用的容器镜像会占用该30 GiB空间。容器镜像需要占用的空间大小至少为容器镜像大小*2,具体大小视镜像的压缩率决定。
计费说明
临时存储空间(EphemeralStorage)如果超出了30 GiB,超出的部分按照云盘价格收取费用。
费用 = 云盘单价 * 增加的临时存储空间容量 * 使用时长。
- 云盘单价:按照ESSD PL1类型的云盘按量价格进行计费。不同地域下云盘单价不同,具体请参见块存储价格页。 
- 增加的临时存储空间容量:自行声明增加的容量,即超出了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