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

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

最終更新日:Dec 09, 2024

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

Alibaba Cloudディスクの選択方法

Alibaba Cloudディスクは、Elastic Compute Service (ECS) のブロックレベルのデータストレージリソースであり、低レイテンシ、高性能、高耐久性、高信頼性を提供します。 Alibaba Cloudディスクは、パフォーマンスに基づいて分類されます。 Enterprise SSD (ESSD) AutoPLディスク、ESSD、ESSD Entryディスク、または標準SSD、ウルトラディスク、ベーシックディスクなどの前世代のディスクを使用できます。 次の表に、さまざまなクラウドディスクタイプの比較を示します。 ビジネスシナリオに基づいてディスクタイプを選択できます。 詳細については、「ブロックストレージの概要」をご参照ください。

ディスクカテゴリ

機能

使用シナリオ

課金

ESSD AutoPLディスク

  • ディスク容量をディスクパフォーマンスから分離します。

  • パフォーマンス提供機能をサポートします。

  • パフォーマンスバースト機能をサポートします。

  • ESSDが適しているすべてのシナリオ。

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

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

  • ディスク容量が課金されます。

  • パフォーマンスプロビジョニング機能が有効になった後、従量課金制でプロビジョニングされたパフォーマンスに対して課金されます。

  • パフォーマンスバースト機能が有効になった後、従量課金制でバーストパフォーマンスに対して課金されます。

ESSD

  • 高いIOPSを提供します。

  • 低レイテンシを提供します。

以下のような、遅延に敏感なアプリケーションまたはI/O集約型のビジネスシナリオ。

  • 大規模オンライントランザクション処理 (OLTP) データベース

  • NoSQL データベース

  • Elasticsearch分散ログ

ディスク容量が課金されます。

ESSDエントリディスク

説明

ESSDエントリディスクは、ユニバーサルインスタンスファミリーおよびe economyインスタンスファミリーのインスタンスにのみ接続できます。

  • 高いIOPSを提供します。

  • 低レイテンシを提供します。

  • 開発とテストビジネス

  • システムディスクとしての使用。

ディスク容量が課金されます。

クラウドディスクカテゴリ

機能

使用シナリオ

課金

標準SSD

  • 高いランダム読み取り /書き込みパフォーマンスを提供します。

  • 高い信頼性を提供する。

  • I/O集約型アプリケーション

  • 中小規模のリレーショナルデータベースとNoSQLデータベース

ディスク容量が課金されます。

ウルトラディスク

  • 高いコスト効率を提供します。

  • 高い信頼性を提供する。

  • 開発とテストビジネス

  • システムディスクとしての使用。

ディスク容量が課金されます。

基本ディスク

高いコスト効率を提供します。

高いストレージパフォーマンスを必要としない低コストの開発およびテストビジネス

ディスク容量が課金されます。

ディスクタイプ

パフォーマンスインジケータ

ESSD AutoPLディスク

ESSD

ESSDエントリディスク

標準SSD

ウルトラディスク

基本ディスク

パフォーマンスレベル

ESSD AutoPLディスクは、パフォーマンスから容量を分離し、ESSD PL1ディスクのベースラインパフォーマンスと同等のベースラインパフォーマンスを提供できます。 ESSD AutoPLディスクのプロビジョニングされたパフォーマンスとバーストパフォーマンスを設定できます。

PL3

PL2

PL1

PL0

なし

なし

なし

なし

シングルディスク容量範囲 (GiB)

1 ~ 65,536

1,261 ~ 65,536

461 ~ 65,536

20 ~ 65,536

1 ~ 65,536

10 ~ 32,768

20~32,768

20~32,768

5 ~ 2,000

最大IOPS /最小IOPS

1,000,000/3,000

1,000,000/64,850

100,000/24,872

50,000/2,800

10,000/1,812

6,000/1,880

25,000/2、400

5,000/1,960

数百

最大スループット /最小スループット (MB/s)

4,096/125

4,000/750.5

750/350.5

350/130

180/100

150/101.5

300/130

140/103

30 ~ 40

シングルディスクIOPSの計算式

ベースラインパフォーマンス:

max{min{1,800 + 50 × 容量, 50,000}, 3,000}

プロビジョニング済みパフォーマンス: min {プロビジョニング済みIOPS, 50,000}

バーストパフォーマンス: min {インスタンスタイプでサポートされているIOPS, 1,000,000}

min{1,800 + 50 × 容量, 1,000,000}

min{1,800 + 50 × 容量, 1,000,000}

min{1800 + 50 × 容量, 50,000}

min{1,800 + 12 × 容量, 10,000}

min{1,800 + 8 × 容量, 6,000}

min{1,800 + 30 × 容量, 25,000}

min{1,800 + 8 × 容量, 5,000}

なし

シングルディスクのスループット (MB/s) の計算式

ベースラインパフォーマンス:

max{min{120 + 0.5 × 容量, 350}, 125}

プロビジョニング済みパフォーマンス: min{16 KB × プロビジョニング済みIOPS/1,024、ディスクあたりの最大スループット}

バーストパフォーマンス: min {インスタンスタイプでサポートされている全体、4ギガバイト/秒}

min {120 + 0.5 × 容量, 4,000 }

min {120 + 0.5 × 容量, 750 }

min {120 + 0.5 × 容量, 350 }

min {100 + 0.25 × 容量, 180 }

min{100 + 0.15 × 容量, 150}

min{120 + 0.5 × 容量, 300}

min{100 + 0.15 × 容量, 140}

なし

データの信頼性

99.9999999%

99.9999999%

99.9999999%

99.9999999%

99.9999999%

99.9999999%

99.9999999%

99.9999999%

99.9999999%

平均一方向ランダム書き込みレイテンシ (ミリ秒単位) (ブロックサイズ=4 KB)

0.2

0.2

0.2

0.2

0.3 ~ 0.5

1 ~ 3

0.5 ~ 2

1 ~ 3

5 ~ 10

APIパラメーター値

cloud_auto

cloud_essd

cloud_essd

cloud_essd

cloud_essd

cloud_essd_entry

cloud_ssd

cloud_efficiency

cloud

  • 次の例では、PL0 ESSDを使用して、単一ディスクのパフォーマンスを計算する方法を説明します。

    • シングルディスクの最大IOPS: ベースラインIOPSは1,800で、追加のGiBごとに12増加して最大10,000になります。

    • シングルディスクの最大スループット: ベースラインスループットは100メガバイト/秒で、追加のGiBあたり0.25メガバイト/秒増加して最大180メガバイト/秒になります。

  • 標準SSDのパフォーマンスは、データブロックのサイズによって異なります。 より小さなデータブロックを含む標準SSDは、より低いスループットとより高いIOPSを実現します。 次の表は、データブロックの比較を提供する。

    データブロックサイズ (KiB)

    最大IOPS

    スループット (MB /秒)

    4

    約25,000

    約100

    16

    約17,200

    約260

    32

    約9,600

    約300

    64

    約4,800

    約300

説明

ディスクのパフォーマンスの詳細については、「ブロックストレージパフォーマンス」をご参照ください。

利用シナリオ

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

ビジネス要件

参照

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

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

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

永続ストレージ

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

制限事項

項目

説明

ディスクカテゴリ

サブスクリプションディスクのマウントまたはマウント解除はできません。 従量課金ディスクを使用するか、ストレージ容量単位 (SCU) と一緒にディスクを使用します。

共有できるかどうか

Alibaba Cloudディスクは共有できません。 各ディスクは1つのポッドにのみマウントできます。

ECSインスタンスとの関係

  • ディスクは、ディスクと同じゾーンにあるECSインスタンスにのみマウントできます。 クロスゾーン実装はサポートされていません。

  • ディスクをマウントする前に、ディスクタイプがクラスターで使用されているECSインスタンスタイプと一致していることを確認してください。 Ultraディスクは、第7世代以降のECSインスタンスでは使用できません。 各ECSインスタンスタイプでサポートされているディスクタイプの詳細については、「インスタンスファミリーの概要」をご参照ください。

マウントされたディスク数とディスク容量

  • ノードにマウントできるディスクの最大数は、ノードのインスタンスタイプによって異なります。 詳細については、「インスタンスファミリーの概要」をご参照ください。

  • 単一のPL0 Enterprise SSD (ESSD) またはESSD AutoPLディスクの最小容量は1 GiBで、最大容量は32 TiBで、これは32,768 GiBに相当します。

アプリケーションタイプ

ディスクをStatefulSetにマウントします。

説明

ディスクをデプロイメントにマウントする場合は、レプリケートされるポッドの数を1に設定する必要があります。 この場合、ポッドごとに独立した永続ボリューム (PV) を構成したり、ディスクをマウントまたはアンマウントするノードに優先順位を付けたりすることはできません。 デプロイのポッドを再起動すると、更新ポリシーによりディスクのマウントが失敗することがあります。 ディスクをデプロイメントにマウントしないことを推奨します。

アプリケーションパラメーターの設定

アプリケーションテンプレートでsecurityContext.fsgroupパラメーターを設定すると、ディスクボリュームのマウント後にkubeletがchmodおよびchown操作を実行するため、マウント時間が長くなる場合があります。 マウント時間を短縮する方法の詳細については、ボリュームをアタッチまたはマウントできません: unmounted volumes=[xxx], unattached volumes=[xxx]: ディスクボリュームを使用するポッドを起動すると、タイムアウトして条件を待ちます。 返されます。

課金

  • 従量課金のクラウドディスクのみマウントすることができます。 クラスター内のECSインスタンスの課金方法を従量課金からサブスクリプションに変更する場合、マウントされたディスクの課金方法をサブスクリプションに変更することはできません。 それ以外の場合、ディスクはクラスターにマウントされません。 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
    メタデータ:
      名前: alicloud-disk-topology-alltype
    パラメータ:
      タイプ: cloud_essd、cloud_ssd、cloud_efficiency
    provisioner: diskplugin.csi.alibabacloud.com
    reclaimPolicy: 削除
    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

    期待される出力:

    名主催者の年齢
    alicloud-disk-ssd (デフォルト) diskplugin.csi.alibabacloud.com 96m 
  2. デフォルトのStroageClassを使用します。

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

    apiVersion: v1
    kind: PersistentVolumeClaim
    メタデータ:
      名前: disk-pvc
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          ストレージ: 20Gi 

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

    kubectl get pvc

    期待される出力:

    名ステータスボリューム容量アクセスモードSTORAGECLASS年齢
    disk-pvcバインド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" }}}'