Cada pod do Elastic Container Instance (ECI) inclui 30 GiB de armazenamento temporário sem custo adicional. Se sua carga de trabalho precisar de mais capacidade, aumente o espaço de armazenamento temporário definindo uma annotation ou uma resource request no pod.
Como funciona
O espaço padrão de 30 GiB é compartilhado entre a imagem de container e as cargas de trabalho em execução. Como o ECI descomprime a imagem antes do uso, ela ocupa pelo menos o dobro do seu tamanho comprimido. Subtraia esse valor de 30 GiB para estimar o espaço disponível para seus containers. Se o espaço restante for insuficiente, configure capacidade adicional — o armazenamento além dos 30 GiB padrão é cobrado com base na capacidade e na duração do uso. Para detalhes de preços, consulte Billing of the temporary storage space.
Métodos de configuração
O ECI oferece dois métodos para aumentar o espaço de armazenamento temporário. Use um ou ambos — se os dois forem definidos, o maior valor prevalece.
|
Método |
Campo |
Tipo de sintaxe |
Como a capacidade adicional é calculada |
|
Annotation |
|
Limit |
Exatamente o valor definido |
|
Resource request |
|
Request |
Valor definido menos 30 GiB |
A diferença de sintaxe é relevante: a annotation usa sintaxe de limit, portanto o valor corresponde diretamente à capacidade adicional. A resource request usa sintaxe de request, de modo que o valor representa a capacidade total desejada — o ECI subtrai os 30 GiB padrão e aloca o restante. Por exemplo, defina ephemeral-storage: 50Gi para aumentar o armazenamento em 20 GiB (50 − 30 = 20).
Método 1: Definir uma annotation
Adicione a annotation k8s.aliyun.com/eci-extra-ephemeral-storage aos metadados do pod. O valor da annotation representa a quantidade exata de armazenamento adicional a alocar.
Adicione as annotations aos metadados do pod, não aos metadados do Deployment. Em um Deployment, inclua a annotation em spec.template.metadata.annotations. As annotations só têm efeito na criação do pod — modificá-las em um pod existente não produz nenhum efeito.
Método 2: Definir uma resource request
Defina spec.containers[].resources.requests.ephemeral-storage com a capacidade total de armazenamento necessária (30 GiB padrão mais a capacidade adicional). O aumento só é acionado quando o valor ultrapassa 30 GiB. O incremento real equivale ao valor especificado menos 30 GiB.
Ao usar o Método 2, a capacidade efetivamente alocada pode diferir do valor especificado dependendo do tipo de image cache. Para mais detalhes, consulte Tipo de image cache e capacidade de armazenamento.
Aumentar o espaço de armazenamento temporário de um pod
Pré-requisitos
Antes de começar, verifique se você possui:
Um cluster Kubernetes com ECI ativado (ACK ou ASK)
kubectl configurado para se conectar ao seu cluster
Etapa 1: Crie o arquivo YAML do pod
Crie um arquivo chamado extra-storage.yaml. Os exemplos a seguir mostram como aumentar o armazenamento temporário em 20 GiB usando cada método.
Exemplo 1: Annotation
apiVersion: v1
kind: Pod
metadata:
name: test
annotations:
k8s.aliyun.com/eci-extra-ephemeral-storage: "20Gi" # Additional capacity beyond the default 30 GiB
spec:
containers:
- name: nginx
image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
imagePullPolicy: IfNotPresent
restartPolicy: Always
Exemplo 2: Resource request
apiVersion: v1
kind: Pod
metadata:
name: test
spec:
containers:
- name: nginx
image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
imagePullPolicy: IfNotPresent
resources:
requests:
ephemeral-storage: 50Gi # Total capacity: 30 GiB default + 20 GiB additional
restartPolicy: Always
Etapa 2: Crie o pod
kubectl apply -f extra-storage.yaml
Etapa 3: Verifique a configuração
Verifique a capacidade adicional alocada:
kubectl describe pod test | grep k8s.aliyun.com/eci-extra-ephemeral-storage
A saída a seguir confirma um aumento de 20 GiB:
k8s.aliyun.com/eci-extra-ephemeral-storage: 20Gi
Verifique o sistema de arquivos:
Faça login no container e execute df -h para confirmar os tamanhos das partições:
kubectl exec -it test -- sh
df -h
Saída esperada:
Filesystem Size Used Avail Use% Mounted on
overlay 50G 2.1G 48G 5% /
tmpfs 64M 0 64M 0% /dev
tmpfs 1.9G 0 1.9G 0% /sys/fs/cgroup
/dev/vda4 50G 2.1G 48G 5% /etc/hosts
shm 64M 0 64M 0% /dev/shm
tmpfs 4.0G 12K 4.0G 1% /run/secrets/kubernetes.io/serviceaccount
tmpfs 1.9G 0 1.9G 0% /proc/acpi
tmpfs 1.9G 0 1.9G 0% /sys/firmware
A linha overlay exibe o sistema de arquivos raiz. Um tamanho de 50G confirma que o armazenamento temporário foi aumentado em 20 GiB (50 GiB no total menos os 30 GiB padrão).
Tipo de image cache e capacidade de armazenamento
O disco que suporta o armazenamento temporário depende do tipo de image cache usado para criar o pod.

-
Image cache automático: o armazenamento temporário fica no disco do sistema. O tamanho da partição do disco do sistema (
/dev/vda5) equivale à capacidade de armazenamento temporário configurada.
-
Image cache manual: o armazenamento temporário fica em um disco de dados. A partição do disco do sistema (
/dev/vda5) permanece nos 30 GiB padrão e não é usada para armazenamento de carga de trabalho.
Ao usar o Método 2 (resource request) com um image cache manual, a capacidade efetivamente alocada pode diferir do valor especificado em função de como o disco de dados é provisionado.