ディスクボリュームをContainer Service for Kubernetes (ACK) クラスターにマウントできます。 このトピックでは、ディスクボリュームに関連する機能、ディスク仕様、使用シナリオ、使用状況のメモ、課金ルール、およびStorageClassesについて説明します。
Alibaba Cloudディスクの選択方法
Alibaba Cloudディスクは、Elastic Compute Service (ECS) のブロックレベルのデータストレージリソースであり、低レイテンシ、高性能、高耐久性、高信頼性を提供します。 Alibaba Cloudディスクは、パフォーマンスに基づいて分類されます。 Enterprise SSD (ESSD) AutoPLディスク、ESSD、ESSD Entryディスク、または標準SSD、ウルトラディスク、ベーシックディスクなどの前世代のディスクを使用できます。 次の表に、さまざまなクラウドディスクタイプの比較を示します。 ビジネスシナリオに基づいてディスクタイプを選択できます。 詳細については、「ブロックストレージの概要」をご参照ください。
ディスクカテゴリ | 機能 | 使用シナリオ | 課金 |
|
|
| |
| 以下のような、遅延に敏感なアプリケーションまたはI/O集約型のビジネスシナリオ。
| ディスク容量が課金されます。 | |
ESSDエントリディスク 説明 ESSDエントリディスクは、ユニバーサルインスタンスファミリーおよびe economyインスタンスファミリーのインスタンスにのみ接続できます。 |
|
| ディスク容量が課金されます。 |
クラウドディスクカテゴリ | 機能 | 使用シナリオ | 課金 |
標準SSD |
|
| ディスク容量が課金されます。 |
ウルトラディスク |
|
| ディスク容量が課金されます。 |
基本ディスク | 高いコスト効率を提供します。 | 高いストレージパフォーマンスを必要としない低コストの開発およびテストビジネス | ディスク容量が課金されます。 |
ディスクタイプ
パフォーマンスインジケータ | 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インスタンスとの関係 |
|
マウントされたディスク数とディスク容量 |
|
アプリケーションタイプ | ディスクをStatefulSetにマウントします。 説明 ディスクをデプロイメントにマウントする場合は、レプリケートされるポッドの数を1に設定する必要があります。 この場合、ポッドごとに独立した永続ボリューム (PV) を構成したり、ディスクをマウントまたはアンマウントするノードに優先順位を付けたりすることはできません。 デプロイのポッドを再起動すると、更新ポリシーによりディスクのマウントが失敗することがあります。 ディスクをデプロイメントにマウントしないことを推奨します。 |
アプリケーションパラメーターの設定 | アプリケーションテンプレートでsecurityContext.fsgroupパラメーターを設定すると、ディスクボリュームのマウント後にkubeletが |
課金
従量課金のクラウドディスクのみマウントすることができます。 クラスター内の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の作成を試みます。
| マルチゾーン |
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が無効になります。
次のコマンドを実行して、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
デフォルトの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" }}}'