デフォルトでは、各 ACS Pod は 30 GiB の無料エフェメラルストレージ容量 (EphemeralStorage) を提供します。デフォルトのサイズがビジネス要件を満たさない場合は、ストレージ容量を拡張できます。
背景情報
各 ACS Pod は、次の出力に示すように、デフォルトで 30 GiB の無料エフェメラルストレージを提供します。
df -h
Filesystem Size Used Avail Use% Mounted on
overlay 30G 2.4G 26G 9% /
tmpfs 64M 0 64M 0% /dev
tmpfs 2.8G 0 2.8G 0% /sys/fs/cgroup
/dev/vda5 30G 2.4G 26G 9% /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
ACS Pod が使用するコンテナイメージは、エフェメラルストレージ容量に保存されます。コンテナイメージが占有するエフェメラルストレージ容量は、コンテナイメージのサイズの少なくとも 2 倍です。実際の使用量は、コンテナイメージの圧縮率によって異なります。
課金
EphemeralStorage が 30 GiB を超えると、超過分はディスクの課金ルールに基づいて課金されます。
料金:ディスクの単価 × エフェメラルストレージの超過分 × 期間。
-
クラウドディスクの単価: ESSD PL1 クラウドディスクの従量課金価格に基づいて課金されます。価格はリージョンによって異なります。詳細については、「ブロックストレージの料金」をご参照ください。
エフェメラルストレージの超過分:申告した追加のストレージ容量。
期間:秒単位で計測される時間。EphemeralStorage は ACS Pod と共に作成およびリリースされ、その稼働時間は ACS Pod の稼働時間と等しくなります。
設定方法
ACS では、次の 2 つの方法で EphemeralStorage を ACS Pod に追加できます。
方法 1 (推奨): アノテーションの追加
ACS Pod の作成時に
alibabacloud.com/extra-ephemeral-storageアノテーションを追加して、EphemeralStorage のサイズを宣言できます。方法 2: コンテナリソースの設定
Pod の作成時に、コンテナの
.resources.requests.ephemeral-storageフィールドで EphemeralStorage のサイズを宣言できます。EphemeralStorage のサイズが 30 GiB 未満の場合、実際の EphemeralStorage は自動的に 30 GiB に拡張されます。EphemeralStorage のサイズが 30 GiB を超える場合、その超過分が追加のストレージ容量になります。
例
たとえば、ACS Pod に 20 GiB のエフェメラルストレージ容量を追加する場合、EphemeralStorage = デフォルトの 30 GiB + 追加の 20 GiB = 50 GiB となります。
次の内容で extra-storage.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.yamlPod のデプロイ状態を表示します。
kubectl get pod出力例:
NAME READY STATUS RESTARTS AGE test-ff8767b7b-**** 1/1 Running 0 54sEphemeralStorage が有効になっているかを確認します。
Pod のアノテーションを表示して、EphemeralStorage のサイズを確認します。
alibabacloud.com/pod-ephemeral-storageの値は、ACS Pod のエフェメラルストレージ容量を GiB 単位で示します。kubectl describe pod test-ff8767b7b-**** | grep alibabacloud.com/pod-ephemeral-storage出力から、EphemeralStorage のサイズが 50 GiB であることがわかります。
alibabacloud.com/pod-ephemeral-storage: 50Giexecコマンドを実行してコンテナにログインし、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