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

Container Service for Kubernetes:ディスクボリューム

最終更新日:Feb 19, 2025

ディスクボリュームをContainer Service for Kubernetes (ACK) クラスターにマウントできます。 このトピックでは、ディスクボリュームに関連する機能、ディスク仕様、使用シナリオ、使用状況のメモ、課金ルール、およびStorageClassesについて説明します。

概要

Alibaba Cloudディスクは、Elastic Compute Service (ECS) のブロックレベルのデータストレージリソースであり、低レイテンシ、高性能、高耐久性、高信頼性を提供します。 分散三重メカニズムを使用して、ECSインスタンスのデータの信頼性を確保します。 ハードウェアエラーによりゾーン内でサービスの中断が発生した場合、ゾーン内のデータは別のゾーンの影響を受けていないディスクに自動的にレプリケートされ、データの可用性が確保されます。 詳細については、「ディスク」をご参照ください。

  • ESSD AutoPLディスク: ビジネス要件に基づいて、ESSD AutoPLディスクのバーストパフォーマンスとプロビジョニングされたパフォーマンスを構成できます。 ESSD AutoPLディスクは、拡張SSD (ESSD) の機能とパフォーマンスを継承し、ディスク容量をディスクパフォーマンスから切り離す機能を提供します。 詳細については、「ESSD AutoPLディスク」をご参照ください。

    次のシナリオでは、ESSD AutoPLディスクを使用することを推奨します。

    • 大規模オンライントランザクション処理 (OLTP) データベース、NoSQLデータベース、Elasticsearch、Logstash、Kibana (ELK) 分散ログなど、ESSDが適しているシナリオ。

    • ディスク容量を拡張せずにディスクパフォーマンスを向上させる必要があるシナリオ。

    • ビジネスワークロードが大幅に変動し、ワークロードのスパイクが発生したときにディスクのパフォーマンスをバーストする必要があるシナリオ。

  • ESSD: ESSDは、次世代の分散ブロックストレージアーキテクチャに基づいており、25ギガビットイーサネットとリモートダイレクトメモリアクセス (RDMA) を利用しています。 各ESSDは、一方向レイテンシが低く、最大1,000,000のランダムな読み取り /書き込みIOPSを提供できます。 詳細については、「ESSD」をご参照ください。

    OLTPデータベース、NoSQLデータベース、ELK分散ログなどのシナリオでは、ESSDを使用することを推奨します。

  • 標準 SSD:標準 SSDは、一貫した高いランダム IOPS と高いデータ信頼性を提供する高性能ディスクです。

    I/O を多用するアプリケーション、中小規模のリレーショナルデータベース、NoSQL データベースなどのシナリオでは、標準 SSD の使用を推奨します。

  • ESSDエントリディスク: ESSDエントリディスクは、エンタープライズグレードの機能とデータ保護機能を提供します。 ESSD Entryディスクをシステムディスクとして、または開発やテストなどのシナリオで使用することを推奨します。

    説明

    ESSDエントリディスクは、u1およびeインスタンスファミリーのインスタンスにのみ接続できます。 インスタンスファミリーの詳細については、「universal instance family」トピックのu1, Universal instance familyセクションおよび「Shared instance family」トピックのe, economy instance familyセクションをご参照ください。

  • Ultra ディスク:Ultra ディスクは費用効果が高く、中程度のランダム IOPS と高いデータ信頼性を提供します。 開発やテストなどのシナリオでは、ウルトラディスクをシステムディスクとして使用することを推奨します。

  • ベーシックディスク:ベーシックディスクは前世代のディスクのため、購入できません。

利用シナリオ

次の表に、ビジネス要件を満たすためにディスクで実行できる操作を示します。

ビジネス要件

関連ドキュメント

アプリケーションデータの保存

システムディスクまたはデータディスクのサイズ変更

ディスク拡張の詳細については、「概要」をご参照ください。

永続ストレージ

詳細については、以下のトピックをご参照ください。

制限事項

  • ディスクタイプとECSインスタンスタイプの間には互換性の関係があります。 すべてのディスクをすべてのECSインスタンスにマウントできるわけではありません。

    ポッドにスケジュールされたECSノードが、マウント対象のディスクタイプをサポートしていることを確認します。 互換性の詳細については、「インスタンスファミリー」をご参照ください。

課金

  • 従量課金のクラウドディスクのみマウントすることができます。 クラスター内のECSインスタンスの課金方法を従量課金からサブスクリプションに変更する場合、マウントされたディスクの課金方法をサブスクリプションに変更することはできません。 それ以外の場合、ディスクはクラスターにマウントされません。 SCUを購入すると、ディスクコストを削減できます。 SCUの詳細については、「SCU」をご参照ください。

  • StorageClassesは無料です。 StorageClassesを使用して自動的に作成されるディスクは、従量課金制で課金されます。

  • 請求可能なディスクの項目については、「ストレージデバイスのブロック」をご参照ください。 ディスクの料金の詳細については、ECSプロダクトページをご覧ください。

詳細については、「課金」をご参照ください。

StorageClasses

多数の永続ボリュームクレーム (PVC) を作成する場合は、多数の永続ボリューム (PV) も作成する必要があります。 これにより、O&Mエンジニアのワークロードが増加します。 この問題を解決するために、Kubernetesは自動PV作成を有効にするために使用できるStorageClassオブジェクトを提供します。

ACKクラスターは、次のタイプのStorageClassをサポートします。

StorageClass

説明

推奨シナリオ

alicloud-disk-efficiency

Ultra ディスク

シングルゾーン

alicloud-disk-ssd

標準 SSD

シングルゾーン

alicloud-disk-essd

ESSD

シングルゾーン

alicloud-disk-topology-alltype

高可用性モードを提供します。 このモードでは、システムは最初にESSDの作成を試みます。

  • ESSDが在庫切れであるか、ノードによってサポートされていない場合、システムは標準SSDの作成を試みます。

  • 標準SSDが在庫切れの場合、またはノードでサポートされていない場合、システムはウルトラディスクの作成を試みます。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: alicloud-disk-topology-alltype
    parameters:
      type: cloud_essd,cloud_ssd,cloud_efficiency
    provisioner: diskplugin.csi.alibabacloud.com
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    volumeBindingMode: WaitForFirstConsumer

マルチゾーン

StorageClassを設定すると、ディスクが作成されるゾーンは次のルールによって決まります。

  • StorageClass構成でvolumeBindingMode: WaitForFirstConsumerを設定した場合、ポッドが展開されているゾーンにディスクが作成されます。

  • volumeBindingMode: Immediateを設定し、StorageClass構成のzoneIdパラメーターで1つのゾーンのみを指定した場合、指定したゾーンにディスクが作成されます。

  • volumeBindingMode: Immediateを設定し、StorageClass構成のzoneIdパラメーターで複数のゾーンを指定した場合、システムはラウンドロビン方式で指定されたゾーンにディスクを作成しようとします。

クラスターが複数のゾーンにデプロイされている場合は、StorageClass設定でvolumeBindingMode: WaitForFirstConsumerを指定することを推奨します。 必要なディスクの種類に基づいてStorageClassを作成できます。

デフォルトStorageClass

Kubernetesは、デフォルトのStorageClass機能を提供します。 PVCがStorageClassを指定しない場合、デフォルトのStorageClassを使用してPVCのPVをプロビジョニングします。 詳細については、「デフォルトのStorageClass」をご参照ください。

説明
  • デフォルトのStorageClassは、すべてのPVCで有効になります。 クラスターで異なるストレージタイプのPVCが使用されている場合は、注意してください。 たとえば、NASファイルシステムを定義するPVC用のPVを作成する場合、デフォルトのStorageClassが代わりにディスクPVを自動的に作成します。 したがって、ACKクラスターはデフォルトのStorageClassesを提供しません。 デフォルトのStorageClassを設定する場合は、次の手順を実行します。

  • デフォルトのStorageClassは、クラスターごとに1つだけ設定できます。 クラスターに複数のデフォルトStorageClassを設定すると、すべてのデフォルトStorageClassesが無効になります。

  1. 次のコマンドを実行して、alicloud-disk-ssdをデフォルトのStorageClassとして設定します。

    kubectl patch storageclass alicloud-disk-ssd -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'

    デフォルトのStorageClassが設定されると、alicloud-disk-ssd(デフォルト) としてマークされます。

    kubectl get sc

    想定される出力:

    NAME                          PROVISIONER                       AGE
    alicloud-disk-ssd (default)   diskplugin.csi.alibabacloud.com   96m
  2. デフォルトのStroageClassを使用します。

    次のテンプレートを使用して、StorageClassを指定せずにPVCを作成します。

    apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      name: disk-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 20Gi

    クラスターは、デフォルトのStorageClass alicloud-disk-ssdに基づいてディスクPVを自動的に作成します。

    kubectl get pvc

    想定される出力:

    NAME       STATUS   VOLUME                   CAPACITY   ACCESS MODES   STORAGECLASS        AGE
    disk-pvc   Bound    d-bp18pbai447qverm3ttq   20Gi       RWO            alicloud-disk-ssd   49s

次のコマンドを実行して、デフォルトのStorageClassを無効にすることもできます。

kubectl patch storageclass alicloud-disk-ssd -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"false"}}}'