デフォルトでは、各 ACS ポッドには 30 GiB の無料のエフェメラルストレージ空間(EphemeralStorage)が提供されます。デフォルトサイズがビジネス要件を満たしていない場合は、ストレージ空間を拡張できます。
背景情報
デフォルトでは、各 ACS ポッドには、次の図に示すように、30 GiB の無料のエフェメラルストレージ空間が提供されます。
ACS ポッドで使用されるコンテナイメージは、エフェメラルストレージ空間に保存されます。コンテナイメージによって占有されるエフェメラルストレージ空間は、コンテナイメージのサイズの少なくとも 2 倍です。実際の空間使用量は、コンテナイメージの圧縮率によって異なります。
課金
EphemeralStorage が 30 GiB を超えると、超過分はディスクの課金ルールに基づいて課金されます。
料金 = ディスクの単価 × Ephemeral ストレージ超過分 × 期間。
ディスクの単価:PL1 ESSD の従量課金価格。さまざまなリージョンにおけるディスクの単価の詳細については、「EBS の料金」をご参照ください。
Ephemeral ストレージ超過分:宣言した追加のストレージ空間。
期間:秒単位で測定される期間。EphemeralStorage は ACS ポッドと共に作成および解放され、その稼働時間は ACS ポッドの稼働時間と同じです。
設定方法
ACS では、次の 2 つの方法を使用して ACS ポッドに EphemeralStorage を追加できます。
方法 1(推奨):アノテーションを追加する
ACS ポッドの作成時に
alibabacloud.com/extra-ephemeral-storage
アノテーションを追加して、EphemeralStorage のサイズを宣言できます。方法 2:コンテナーリソースを設定する
ポッドの作成時に、ACS ポッドの
.resources.requests.ephemeral-storage
で EphemeralStorage のサイズを宣言できます。EphemeralStorage のサイズが 30 GiB より小さい場合、実際の EphemeralStorage は自動的に 30 GiB に拡張されます。EphemeralStorage のサイズが 30 GiB を超える場合、超過分は追加のストレージ空間です。
例
たとえば、ACS ポッドに 20 GiB のエフェメラルストレージ空間を追加するとします。この場合、EphemeralStorage = デフォルト 30 GiB + 追加 20 GiB = 50 GiB です。
次の内容に基づいて、extra-storage.yaml という名前の YAML ファイルを作成します。
方法 1:アノテーションを追加する
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:コンテナーリソースを設定する
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 # EphemeralStorage のサイズを宣言します。
ワークロードを作成します。
kubectl apply -f extra-storage.yaml
ポッドのデプロイメントを表示します。
kubectl get pod
予想される出力:
NAME READY STATUS RESTARTS AGE test-ff8767b7b-**** 1/1 Running 0 54s
EphemeralStorage が有効になっているかどうかを確認します。
ポッドアノテーションを表示して、EphemeralStorage のサイズを確認します。
alibabacloud.com/pod-ephemeral-storage
の値は、ACS ポッドのエフェメラルストレージ空間を GiB 単位で示します。kubectl describe pod test-ff8767b7b-**** | grep alibabacloud.com/pod-ephemeral-storage
出力は、EphemeralStorage のサイズが 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