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方式2:设置容器的resourceapiVersion: 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
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
- 本页导读 (1)
- 背景信息
- 计费说明
- 配置说明
- 配置示例