第4章 CSIStorageCapacity [storage.k8s.io/v1]


説明

CSIStorageCapacity は、1 回の CSI GetCapacity 呼び出しの結果を保存します。特定の StorageClass について、これは特定のトポロジーセグメントで使用可能な容量を表します。これは、新しい PersistentVolumes をインスタンス化する場所を検討するときに使用できます。

たとえば、これは次のように表すことができます。- StorageClass "standard" の "1234 GiB" は "topology.kubernetes.io/zone=us-east1" で利用可能 - StorageClass "localssd" の "10 GiB" は "kubernetes.io/hostname=knode-abc123" で利用可能

次の 3 つのケースはすべて、特定の組み合わせで使用可能な容量がないことを意味します。- 適切なトポロジーとストレージクラス名を持つオブジェクトが存在しない - そのようなオブジェクトは存在するが、容量は設定されていない - そのようなオブジェクトは存在するが、容量はゼロである

これらのオブジェクトの作成者は、どちらのアプローチがより適切かを判断できます。

これらは、CSI ドライバーが CSIDriverSpec.StorageCapacity による容量認識スケジューリングを選択するときに、kube-scheduler によって消費されます。スケジューラーは、保留中のボリュームで要求されたサイズと MaximumVolumeSize を比較して、不適切なノードを除外します。MaximumVolumeSize が設定されていない場合は、正確性の低い容量との比較に戻ります。これも設定されていない場合、スケジューラーは容量が不十分であると判断し、他のノードを試行します。

タイプ
object
必須
  • storageClassName

4.1. 仕様

プロパティータイプ説明

apiVersion

string

APIVersion はオブジェクトのこの表現のバージョンスキーマを定義します。サーバーは認識されたスキーマを最新の内部値に変換し、認識されない値は拒否することがあります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources を参照してください。

capacity

quantity

容量は、前のフィールドと一致するトポロジーとパラメーターを持つ GetCapacityRequest の GetCapacityResponse で CSI ドライバーによって報告される値です。

セマンティクスは現在 (CSI 仕様 1.2) 次のように定義されています。ボリュームのプロビジョニングに使用できるストレージの使用可能な容量 (バイト単位)。設定されていない場合、その情報は現在利用できません。

kind

string

kind はこのオブジェクトが表す REST リソースを表す文字列の値です。サーバーはクライアントが要求を送信するエンドポイントからこれを推測できることがあります。これを更新することはできません。CamelCase を使用します。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds を参照してください。

maximumVolumeSize

quantity

MaximumVolumeSize は、前のフィールドと一致するトポロジーとパラメーターを持つ GetCapacityRequest の GetCapacityResponse で CSI ドライバーによって報告される値です。

これは、CSI 仕様 1.4.0 以降、GetCapacityRequest と同じパラメーターでボリュームを作成するために CreateVolumeRequest.capacity_range.required_bytes フィールドで使用できる最大サイズとして定義されています。Kubernetes API の対応する値は、ボリュームクレームの ResourceRequirements.Requests です。

metadata

ObjectMeta

標準オブジェクトのメタデータ。名前には特別な意味はありません。DNS サブドメインである必要があります (ドットを使用可、253 文字)。クラスター上の他の CSI ドライバーとの競合がないことを確認するには、csisc-<uuid>,、生成された名前、または一意の CSI ドライバー名で終わる逆ドメイン名を使用することを推奨します。

オブジェクトには namespaced が付けられます。

詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

nodeTopology

LabelSelector

NodeTopology は、容量が報告されたストレージにアクセスできるノードを定義します。設定されていない場合は、クラスター内のどのノードからもストレージにアクセスできません。空の場合、ストレージはすべてのノードからアクセスできます。このフィールドは不変です。

storageClassName

string

報告された容量が適用される StorageClass の名前。StorageClass オブジェクト (空でない DNS サブドメイン) の名前と同じ要件を満たす必要があります。そのオブジェクトが存在しなくなった場合、CSIStorageCapacity オブジェクトは廃止され、作成者が削除する必要があります。このフィールドは不変です。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.