增加临时存储空间大小

更新时间:2025-03-17 07:50:40

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

背景信息

每个ACS Pod默认提供30 GiB的临时存储空间(免费),如下图所示。

临时存储1

重要

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-storageAnnotation声明要增加的临时存储空间大小。

  • 方式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
    方式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
          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   #  声明临时存储空间大小
  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
  • 本页导读 (1)
  • 背景信息
  • 计费说明
  • 配置说明
  • 配置示例
AI助理

点击开启售前

在线咨询服务

你好,我是AI助理

可以解答问题、推荐解决方案等