すべてのプロダクト
Search
ドキュメントセンター

:一時的なストレージスペースのスケールアップ

最終更新日:Dec 14, 2024

デフォルトでは、システムはエラスティックコンテナインスタンス (ポッド) に30 GiBの一時ストレージスペースを無料で提供します。 一時ストレージスペースのサイズが要件を満たさない場合は、一時ストレージスペースをスケールアップできます。

背景情報

デフォルトでは、次の図に示すように、各エラスティックコンテナインスタンスは30 GiBの一時ストレージスペースを無料で提供します。

临时存储空间

重要

エラスティックコンテナインスタンスの起動に使用されるコンテナイメージは、30 GiBの空き一時ストレージ領域を占有します。 コンテナイメージが占有する必要がある空間のサイズは、コンテナイメージのサイズの少なくとも2倍であり、イメージの圧縮率によって決定される。

30 GiBを超えるストレージスペースが必要な場合は、一時的なストレージスペースをスケールアップできます。 容量と使用期間に基づいて、増加した一時ストレージスペースに対して課金されます。 詳細については、「一時記憶域の課金」をご参照ください。

設定の説明

Kubernetesが関与するシナリオでは、次の方法を使用して、ポッドの一時ストレージスペースをスケールアップできます。

    説明

    メソッドの構文の違い:

    • メソッド1には限界構文があります。 一時記憶領域のスケールアップ容量は、e k8s.aliyun.com/eci-extra-ephemeral-storageアノテーションに指定した値と同じです。

    • 方法2は、要求構文を有する。 一時記憶領域のスケールアップ容量は、イメージキャッシュのタイプによって、リソース要求で指定した値と異なる場合があります。 詳細については、「イメージキャッシュのタイプと一時記憶領域の容量の関係」をご参照ください。

    両方のメソッドを使用する場合、メソッドで設定された大きい方の値が有効になります。

方法1: 注釈の追加

ポッドにk8s.aliyun.com/eci-extra-ephemeral-storage注釈を追加して、ポッドの一時記憶域を拡大できます。 注釈の値は、スケールアップされた容量に等しい。

重要
  • ポッドの構成ファイルのメタデータに注釈を追加する必要があります。 たとえば、配置を作成するときは、spec.template.metadataセクションに注釈を追加する必要があります。

  • Elastic Container Instanceの機能を使用するには、Elastic Container Instanceベースのポッドを作成する場合にのみアノテーションを追加できます。 ポッドを更新するときにアノテーションを追加または変更しても、これらのアノテーションは有効になりません。

方法2: リソース要求の使用

一時記憶域の容量は、リソース要求のエフェメラル・ストレージ・フィールドで指定できます。 指定した容量が30 GiBを超える場合にのみ、一時的なストレージスペースがスケールアップされます。 スケールアップされる容量は、指定した容量から30 GiBを差し引いたものに等しくなります。

設定例

  1. YAMLファイルを準備します。

    たとえば、ポッドを作成するときに一時的なストレージスペースの容量を20 GiBスケールアップする場合などです。 YAMLファイルの名前はextra-storage.yamlです。 次のコードは、YAMLファイルの例を示しています。

    • 例1: 注釈を追加する

      apiVersion: v1
      kind: Pod
      metadata:
        name: test
        annotations:
          k8s.aliyun.com/eci-extra-ephemeral-storage: "20Gi"  # Specifies the capacity that you want to scale up for the temporary storage space.
      spec:
        containers:
        - name: nginx
          image: registry-vpc.cn-beijing.aliyuncs.com/eci_open/nginx:1.14.2
          imagePullPolicy: IfNotPresent
        restartPolicy: Always
    • 例2: コンテナーのリソースを設定する

      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   # Specifies the total capacity of the temporary storage space, which is the sum of the 30 GiB of default capacity and the capacity that you want to scale up.
        restartPolicy: Always
  2. ポッドを作成します。

    kubectl apply -f extra-storage.yaml
  3. 一時保存スペースが有効かどうかを確認します。

    • 一時ストレージスペースのスケールアップ容量を確認します。

      kubectl describe pod test | grep k8s.aliyun.com/eci-extra-ephemeral-storage

      次の出力は、一時記憶領域の容量が20 GiBでスケールアップされたことを示しています。

      k8s.aliyun.com/eci-extra-ephemeral-storage: 20Gi
    • execコマンドを実行してコンテナにログインし、df -hコマンドを実行して、コンテナのファイルシステムパーティションがスケールアップされているかどうかを確認します。

      kubectl exec -it test -- sh

      df -h

      次の出力では、overlayパラメーターは、合計50 GiBのストレージスペースが使用可能であることを示します。 スケールアップされた容量は、合計50 GiBの容量からデフォルトのストレージスペースの30 GiBの容量を差し引いたものに等しくなります。

      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

イメージキャッシュのタイプと一時記憶領域の容量の関係

システムによって生成される一時記憶領域の容量は、イメージキャッシュの種類によって異なる。

  • エラスティックコンテナインスタンスが自動イメージキャッシュに基づいて作成されている場合、インスタンスの一時記憶領域はシステムディスクに配置されます。 この場合、システムディスクパーティション (/dev/vda5) の容量は、一時記憶領域の容量に等しくなります。 詳細は以下の図をご参照ください。

    临时存储空间-自动imc

  • エラスティックコンテナインスタンスが手動イメージキャッシュに基づいて作成されている場合、インスタンスの一時記憶領域はデータディスク上にあります。 この場合、システムディスクパーティション (/dev/vda5) の容量はデフォルトの30 GiBのままで、使用されません。 詳細は以下の図をご参照ください。

    临时存储空间-手动imc