検索

27.2. CSIDriver [storage.k8s.io/v1]

download PDF
説明
CSIDriver は、クラスターにデプロイされた Container Storage Interface (CSI) ボリュームドライバーに関する情報をキャプチャーします。Kubernetes アタッチデタッチコントローラーは、このオブジェクトを使用して、アタッチが必要かどうかを判断します。Kubelet はこのオブジェクトを使用して、Pod 情報をマウントで渡す必要があるかどうかを判断します。CSIDriver オブジェクトには namespace がありません。
タイプ
object
必須
  • spec

27.2.1. 仕様

プロパティー説明

apiVersion

string

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

kind

string

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

metadata

ObjectMeta

標準オブジェクトのメタデータ。metadata.Name は、このオブジェクトが参照する CSI ドライバーの名前を示します。そのドライバーの CSI GetPluginName() 呼び出しによって返される名前と同じである必要があります。ドライバー名は 63 文字以下で、ダッシュ (-)、ドット (.)、およびその間に英数字を含む英数字 (a-z0-9A-Z) で開始および終了する必要があります。詳細は、https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata を参照してください。

spec

object

CSIDriverSpec は、CSIDriver の仕様です。

27.2.1.1. .spec

説明
CSIDriverSpec は、CSIDriver の仕様です。
タイプ
object
プロパティー説明

attachRequired

boolean

attachRequired は、この CSI ボリュームドライバーにアタッチ操作が必要であることを示し (CSI ControllerPublishVolume () メソッドを実装しているため)、Kubernetes アタッチデタッチコントローラーは、volumeattachment ステータスをチェックし、ボリュームがアタッチされるまで待機してからに進む前に、アタッチデタッチコントローラーを呼び出す必要があります。取り付け。CSI 外部アタッチメントは CSI ボリュームドライバーと調整し、接続操作が完了すると volumeattachment ステータスを更新します。CSIDriverRegistry 機能ゲートが有効で、値が false に指定されている場合、接続操作はスキップされます。それ以外の場合は、アタッチ操作が呼び出されます。

このフィールドは不変です。

fsGroupPolicy

string

fsGroupPolicy は、基になるボリュームがマウント前のボリュームの所有権と権限の変更をサポートするかどうかを定義します。詳細は、特定の FSGroupPolicy 値を参照してください。

このフィールドは不変です。

デフォルトは ReadWriteOnceWithFSType です。これにより、各ボリュームが調べられ、Kubernetes がボリュームの所有権および権限を変更する必要があるかどうかが判断されます。デフォルトのポリシーでは、定義された fsGroup は、fstype が定義されていて、ボリュームのアクセスモードに ReadWriteOnce が含まれている場合にのみ適用されます。

podInfoOnMount

boolean

true に設定すると、podInfoOnMount は、この CSI ボリュームドライバーがマウント操作中に追加の Pod 情報 (podName、podUID など) を必要とすることを示します。false に設定すると、Pod 情報はマウント時に渡されません。デフォルトは false です。

CSI ドライバーは、ドライバーデプロイメントの一部として podInfoOnMount を指定します。true の場合、Kubelet は CSI NodePublishVolume () 呼び出しで VolumeContext として Pod 情報を渡します。CSI ドライバーは、VolumeContext として渡された情報の解析および検証を担当します。

podInfoOnMount が true に設定されている場合は、次の VolumeConext が渡されます。このリストは大きくなる可能性がありますが、接頭辞が使用されます。"csi.storage.k8s.io/pod.name": pod.Name "csi.storage.k8s.io/pod.namespace": pod.Namespace "csi.storage.k8s.io/pod.uid": string(pod.UID) "csi.storage.k8s.io/ephemeral": ボリュームが CSIVolumeSource によって定義されたエフェメラルインラインボリュームの場合は "true"、それ以外の場合は "false" です。

"csi.storage.k8s.io/ephemeral" は Kubernetes1.16 の新機能です。これは、"Persistent" および "Ephemeral" の両方の VolumeLifecycleMode をサポートするドライバーにのみ必要です。他のドライバーは、Pod 情報を無効のままにするか、このフィールドを無視することができます。Kubernetes 1.15 はこのフィールドをサポートしていないため、ドライバーはそのようなクラスターにデプロイされた場合に 1 つのモードしかサポートできず、デプロイメントによって、たとえばドライバーのコマンドラインパラメーターを介してどのモードであるかが決定されます。

このフィールドは不変です。

requiresRepublish

boolean

requiredRepublish は、CSI ドライバーが、マウントされたボリュームで発生する可能性のある変更を反映するために NodePublishVolume が定期的に呼び出されることを望んでいることを示します。このフィールドのデフォルトは false です。

注: 最初の NodePublishVolume 呼び出しが成功した後、NodePublishVolume への後続の呼び出しは、ボリュームの内容のみを更新する必要があります。新しいマウントポイントは、実行中のコンテナーには表示されません。

seLinuxMount

boolean

seLinuxMount は、CSI ドライバーが -o context マウントオプションをサポートするかどうかを指定します。

true の場合、CSI ドライバーは、この CSI ドライバーが提供するすべてのボリュームを、異なる -o context オプションを使用して個別にマウントできることを保証する必要があります。これは、ブロックデバイス上のファイルシステムまたは独立した共有ボリュームとしてボリュームを提供するストレージバックエンドでは一般的です。Kubernetes は、SELinux コンテキストを明示的に設定した Pod で使用される ReadWriteOncePod ボリュームをマウントするときに、-o context=xyz マウントオプションを指定して NodeStage/NodePublish を呼び出します。今後は、他のボリューム AccessModes に拡張される可能性があります。いずれの場合も、Kubernetes は、ボリュームが単一の SELinux コンテキストでのみマウントされるようにします。

false の場合、Kubernetes は特別な SELinux マウントオプションをドライバーに渡しません。これは、サイズの大きい共有ファイルシステムのサブディレクトリーを表すボリュームでは一般的です。

デフォルトは false です。

storageCapacity

boolean

true に設定されている場合、storageCapacity は、容量情報を使用して CSIStorageCapacity オブジェクトを作成することにより、CSI ボリュームドライバーが Pod スケジューリングでドライバーデプロイメントが報告するストレージ容量を考慮することを望んでいることを示します。

ドライバーをデプロイすると、チェックをすぐに有効にできます。その場合、遅延バインディングを使用した新しいボリュームのプロビジョニングは、ドライバーのデプロイメントで適切な CSIStorageCapacity オブジェクトが公開されるまで一時停止します。

または、フィールドを unset または false にしてドライバーをデプロイし、後でストレージ容量情報が公開されたときにドライバーを反転させることもできます。

このフィールドは Kubernetes ⇐ 1.22 では不変でしたが、現在は変更可能です。

tokenRequests

array

tokenRequests は、CSI ドライバーが必要な認証を行うためにボリュームをマウントしている Pod のサービスアカウントトークンを必要としていることを示します。Kubelet は、CSI NodePublishVolume 呼び出しで VolumeContext のトークンを渡します。CSI ドライバーは、次の VolumeContext: "csi.storage.k8s.io/serviceAccount.tokens": { "<audience>": { "token": <token>, "expirationTimestamp": <expiration timestamp in RFC3339>, }, …​ } を解析して検証する必要があります。

注: 各 TokenRequest のオーディエンスは異なる必要があり、最大で 1 つのトークンが空の文字列です。有効期限後に新しいトークンを受け取るには、RequiresRepublish を使用して NodePublishVolume を定期的にトリガーできます。

tokenRequests[]

object

TokenRequest には、サービスアカウントトークンのパラメーターが含まれています。

volumeLifecycleModes

array (string)

volumeLifecycleModes は、この CSI ボリュームドライバーがサポートするボリュームの種類を定義します。リストが空の場合のデフォルトは "Persistent" です。これは、CSI 仕様で定義され、通常の PV/PVC メカニズムを介して Kubernetes に実装される使用法です。

もう 1 つのモードは "Ephemeral" です。このモードでは、ボリュームは CSIVolumeSource を使用して Pod 仕様内でインラインで定義され、そのライフサイクルはその Pod のライフサイクルに関連付けられます。ドライバーは、そのようなボリュームに対して NodePublishVolume 呼び出しを取得するだけなので、これを認識している必要があります。

このモードの実装の詳細は、https://kubernetes-csi.github.io/docs/ephemeral-local-volumes.html を参照してください。ドライバーはこれらのモードの 1 つ以上をサポートでき、将来さらにモードが追加される可能性があります。

このフィールドはベータ版です。このフィールドは不変です。

27.2.1.2. .spec.tokenRequests

説明

tokenRequests は、CSI ドライバーが必要な認証を行うためにボリュームをマウントしている Pod のサービスアカウントトークンを必要としていることを示します。Kubelet は、CSI NodePublishVolume 呼び出しで VolumeContext のトークンを渡します。CSI ドライバーは、次の VolumeContext: "csi.storage.k8s.io/serviceAccount.tokens": { "<audience>": { "token": <token>, "expirationTimestamp": <expiration timestamp in RFC3339>, }, …​ } を解析して検証する必要があります。

注: 各 TokenRequest のオーディエンスは異なる必要があり、最大で 1 つのトークンが空の文字列です。有効期限後に新しいトークンを受け取るには、RequiresRepublish を使用して NodePublishVolume を定期的にトリガーできます。

タイプ
array

27.2.1.3. .spec.tokenRequests[]

説明
TokenRequest には、サービスアカウントトークンのパラメーターが含まれています。
タイプ
object
必須
  • audience
プロパティー説明

audience

string

audience は、"TokenRequestSpec" のトークンの対象オーディエンスです。デフォルトでは、kube apiserver のオーディエンスになります。

expirationSeconds

integer

expirationSeconds は、TokenRequestSpec 内のトークンの有効期間です。TokenRequestSpec の ExpirationSeconds と同じデフォルト値があります。

27.2.2. API エンドポイント

以下の API エンドポイントを利用できます。

  • /apis/storage.k8s.io/v1/csidrivers

    • DELETE: CSIDriver のコレクションを削除する
    • GET: CSIDriver 種類のオブジェクトをリスト表示または監視する
    • POST: CSIDriver を作成する
  • /apis/storage.k8s.io/v1/watch/csidrivers

    • GET: CSIDriver のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で watch パラメーターを使用してください。
  • /apis/storage.k8s.io/v1/csidrivers/{name}

    • DELETE: CSIDriver を削除する
    • GET: 指定された CSIDriver を読み取る
    • PATCH: 指定された CSIDriver を部分的に更新する
    • PUT: 指定された CSIDriver を置き換える
  • /apis/storage.k8s.io/v1/watch/csidrivers/{name}

    • GET: CSIDriver 種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で watch パラメーターを使用し、fieldSelector パラメーターで単一の項目にフィルター処理します。

27.2.2.1. /apis/storage.k8s.io/v1/csidrivers

表27.1 グローバルクエリーパラメーター
パラメーター説明

pretty

string

true の場合は、出力が整形表示 (Pretty-print) されます。

HTTP メソッド
DELETE
説明
CSIDriver のコレクションを削除する
表27.2 クエリーパラメーター
パラメーター説明

continue

string

サーバーからさらに結果を取得する場合は、continue オプションを設定する必要があります。この値はサーバー定義であるため、クライアントは同じクエリーパラメーター (continue の値を除く) で、以前のクエリー結果からの continue 値のみを使用でき、サーバーは認識できない continue 値を拒否する可能性があります。指定された continue の値が有効期限切れ (通常 5-15 分) やサーバーでの設定変更により無効となった場合、サーバーは 410 ResourceExpired エラーと continue トークンを返します。クライアントが一貫性のあるリストを必要とする場合は、続行フィールドなしでリストを再起動する必要があります。必要としない場合、クライアントは 410 エラーで受信したトークンを使用して別のリスト要求を送信できます。サーバーは次のキーから始まるリストで応答しますが、最新のスナップショットから取得するため、以前のリストの結果とは矛盾します。作成、変更、または削除されたオブジェクトは、キーが「次のキー」の後にある限り応答に含まれます。

watch が true の場合、このフィールドはサポートされません。クライアントは、サーバーから返された最後の resourceVersion 値から監視を開始し、変更を見逃すことはありません。

dryRun

string

これが指定されている場合は、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合は、エラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべての dryRun ステージが処理されます。

fieldSelector

string

返されるオブジェクトのリストをフィールドごとに制限するセレクター。デフォルトは everything です。

gracePeriodSeconds

integer

オブジェクトが削除されるまでの時間 (秒)。値は負の値ではない整数にする必要があります。値をゼロに指定すると、ただちに削除されます。この値が nil の場合は、指定されたタイプのデフォルトの猶予期間が使用されます。指定しない場合は、デフォルトでオブジェクトごとの値になります。ゼロはすぐに削除することを意味します。

labelSelector

string

返されるオブジェクトのリストをラベルで制限するためのセレクター。デフォルトは everything です。

limit

integer

limit は、リスト呼び出しに対して返される応答の最大数です。他にもアイテムが存在する場合は、サーバーは、リストのメタデータ上の `continue` フィールドを、同じ初期クエリーで使用できる値に設定して、次の結果セットを取得します。制限を設定すると、要求されたすべてのオブジェクトが除外された場合に、要求された量より少ないアイテム (最大 0 個のアイテム) が返される場合があります。クライアントは、続行フィールドの存在のみを使用して、より多くの結果が利用可能かどうかを判断する必要があります。サーバーは limit 引数をサポートしない場合もあり、その場合は利用可能なすべての結果を返します。制限が指定され、続行フィールドが空の場合、クライアントはこれ以上結果が利用できないと想定する場合があります。watch が true の場合、このフィールドはサポートされません。

サーバーは、continue を使用したときに返されるオブジェクトが、制限なしで単一のリスト呼び出しを発行するのと同じであることを保証します。つまり、最初の要求が発行された後に作成、変更、または削除されたオブジェクトは、後続の継続要求に含まれません。これは、一貫性のあるスナップショットと呼ばれることもあり、limit を使用して非常にサイズの大きい結果が小さめのチャンクに分けて受信することで、考えられるオブジェクトがすべて表示されるようにします。チャンクリスト中にオブジェクトが更新された場合は、最初のリスト結果が計算されたときに存在していたオブジェクトのバージョンが返されます。

orphanDependents

boolean

非推奨。PropagationPolicy を使用してください。このフィールドは 1.7 で非推奨となります。依存オブジェクトが孤立している必要があります。true/false の場合は、孤立したファイナライザーがオブジェクトのファイナライザー一覧で追加/削除されます。このフィールドまたは PropagationPolicy のいずれかを設定できますが、両方を設定できません。

propagationPolicy

string

ガベージコレクションが実行されるかどうか、およびその方法。このフィールドまたは OrphanDependents のどちらかを設定できますが、両方を設定できません。デフォルトポリシーは、metadata.finalizers に設定されている既存のファイナライザーとリソース固有のデフォルトポリシーによって決定されます。許容値は次のとおりです。'Orphan' - 依存を削除して孤立させます。'Background' - ガベージコレクターがバックグラウンドで依存関係を削除できるようにします。'Foreground' - フォアグラウンド内のすべての依存関係を削除するカスケードポリシーです。

resourceVersion

string

resourceVersion は、要求を処理できるリソースのバージョンに関する制約を設定します。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions を参照してください。

デフォルトは unset です。

resourceVersionMatch

string

resourceVersionMatch は、resourceVersion をリスト呼び出しに適用する方法を決定します。resourceVersion が設定されているリスト呼び出しには resourceVersionMatch を設定することが強く推奨されます。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions を参照してください。

デフォルトは unset です。

sendInitialEvents

boolean

`sendInitialEvents=true` may be set together with `watch=true`.その場合、監視ストリームは合成イベントで始まり、コレクション内のオブジェクトの現在の状態を生成します。このようなイベントがすべて送信されると、合成的 "Bookmark" イベントが送信されます。ブックマークはオブジェクトのセットに対応する ResourceVersion (RV) を報告し、`"k8s.io/initial-events-end": "true"` アノテーションが付けられます。その後、監視ストリームは通常どおり続行され、(RV に続く) 変更に対応する監視イベントが監視対象のオブジェクトに送信されます。

'sendInitialEvents' オプションが設定されている場合、resourceVersionMatch オプションも設定する必要があります。監視リクエストのセマンティクスとして、`resourceVersionMatch` = NotOlderThan は、最低でも、指定された `resourceVersion` と同程度に新しいデータとして解釈され、最低でも状態が ListOptions が指定したものと同程度に新しい `resourceVersion` に同期される場合にブックバークイベントが送信されます。 `resourceVersion` が設定されていない場合、"consistent read" として解釈され、少なくともリクエストの処理が開始された瞬間までの状態が同期されると、ブックマークイベントが送信されます。- `resourceVersionMatch` を他の値に設定するか、未設定にすると、無効なエラーが返されます。

`resourceVersion=""` または `resourceVersion="0"` (下位互換性の目的) の場合、デフォルトは true、それ以外の場合は false です。

timeoutSeconds

integer

リスト/ウォッチ呼び出しのタイムアウト。これにより、アクティビティーの有無に関係なく、呼び出し時間が制限されます。

表27.3 本文パラメーター
パラメーター説明

body

DeleteOptions スキーマ

 
表27.4 HTTP 応答
HTTP コード応答本文

200 - OK

Status スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
CSIDriver 種類のオブジェクトをリスト表示または監視する
表27.5 クエリーパラメーター
パラメーター説明

allowWatchBookmarks

boolean

allowWatchBookmarks は、タイプが BOOKMARK の監視イベントを要求します。ブックマークを実装していないサーバーはこのフラグを無視する可能性があり、ブックマークはサーバーの判断で送信されます。クライアントは、ブックマークが特定の間隔で返される、またはサーバーがセッション中に BOOKMARK イベントを送信すると想定するべきではありません。これが watch でない場合は、このフィールドが無視されます。

continue

string

サーバーからさらに結果を取得する場合は、continue オプションを設定する必要があります。この値はサーバー定義であるため、クライアントは同じクエリーパラメーター (continue の値を除く) で、以前のクエリー結果からの continue 値のみを使用でき、サーバーは認識できない continue 値を拒否する可能性があります。指定された continue の値が有効期限切れ (通常 5-15 分) やサーバーでの設定変更により無効となった場合、サーバーは 410 ResourceExpired エラーと continue トークンを返します。クライアントが一貫性のあるリストを必要とする場合は、続行フィールドなしでリストを再起動する必要があります。必要としない場合、クライアントは 410 エラーで受信したトークンを使用して別のリスト要求を送信できます。サーバーは次のキーから始まるリストで応答しますが、最新のスナップショットから取得するため、以前のリストの結果とは矛盾します。作成、変更、または削除されたオブジェクトは、キーが「次のキー」の後にある限り応答に含まれます。

watch が true の場合、このフィールドはサポートされません。クライアントは、サーバーから返された最後の resourceVersion 値から監視を開始し、変更を見逃すことはありません。

fieldSelector

string

返されるオブジェクトのリストをフィールドごとに制限するセレクター。デフォルトは everything です。

labelSelector

string

返されるオブジェクトのリストをラベルで制限するためのセレクター。デフォルトは everything です。

limit

integer

limit は、リスト呼び出しに対して返される応答の最大数です。他にもアイテムが存在する場合は、サーバーは、リストのメタデータ上の `continue` フィールドを、同じ初期クエリーで使用できる値に設定して、次の結果セットを取得します。制限を設定すると、要求されたすべてのオブジェクトが除外された場合に、要求された量より少ないアイテム (最大 0 個のアイテム) が返される場合があります。クライアントは、続行フィールドの存在のみを使用して、より多くの結果が利用可能かどうかを判断する必要があります。サーバーは limit 引数をサポートしない場合もあり、その場合は利用可能なすべての結果を返します。制限が指定され、続行フィールドが空の場合、クライアントはこれ以上結果が利用できないと想定する場合があります。watch が true の場合、このフィールドはサポートされません。

サーバーは、continue を使用したときに返されるオブジェクトが、制限なしで単一のリスト呼び出しを発行するのと同じであることを保証します。つまり、最初の要求が発行された後に作成、変更、または削除されたオブジェクトは、後続の継続要求に含まれません。これは、一貫性のあるスナップショットと呼ばれることもあり、limit を使用して非常にサイズの大きい結果が小さめのチャンクに分けて受信することで、考えられるオブジェクトがすべて表示されるようにします。チャンクリスト中にオブジェクトが更新された場合は、最初のリスト結果が計算されたときに存在していたオブジェクトのバージョンが返されます。

resourceVersion

string

resourceVersion は、要求を処理できるリソースのバージョンに関する制約を設定します。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions を参照してください。

デフォルトは unset です。

resourceVersionMatch

string

resourceVersionMatch は、resourceVersion をリスト呼び出しに適用する方法を決定します。resourceVersion が設定されているリスト呼び出しには resourceVersionMatch を設定することが強く推奨されます。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions を参照してください。

デフォルトは unset です。

sendInitialEvents

boolean

`sendInitialEvents=true` may be set together with `watch=true`.その場合、監視ストリームは合成イベントで始まり、コレクション内のオブジェクトの現在の状態を生成します。このようなイベントがすべて送信されると、合成的 "Bookmark" イベントが送信されます。ブックマークはオブジェクトのセットに対応する ResourceVersion (RV) を報告し、`"k8s.io/initial-events-end": "true"` アノテーションが付けられます。その後、監視ストリームは通常どおり続行され、(RV に続く) 変更に対応する監視イベントが監視対象のオブジェクトに送信されます。

'sendInitialEvents' オプションが設定されている場合、resourceVersionMatch オプションも設定する必要があります。監視リクエストのセマンティクスとして、`resourceVersionMatch` = NotOlderThan は、最低でも、指定された `resourceVersion` と同程度に新しいデータとして解釈され、最低でも状態が ListOptions が指定したものと同程度に新しい `resourceVersion` に同期される場合にブックバークイベントが送信されます。 `resourceVersion` が設定されていない場合、"consistent read" として解釈され、少なくともリクエストの処理が開始された瞬間までの状態が同期されると、ブックマークイベントが送信されます。- `resourceVersionMatch` を他の値に設定するか、未設定にすると、無効なエラーが返されます。

`resourceVersion=""` または `resourceVersion="0"` (下位互換性の目的) の場合、デフォルトは true、それ以外の場合は false です。

timeoutSeconds

integer

リスト/ウォッチ呼び出しのタイムアウト。これにより、アクティビティーの有無に関係なく、呼び出し時間が制限されます。

watch

boolean

記述されたリソースへの変更を監視し、追加、更新、および削除通知のストリームとして返します。resourceVersion を指定します。

表27.6 HTTP 応答
HTTP コード応答本文

200 - OK

CSIDriverList スキーマ

401 - Unauthorized

空白

HTTP メソッド
POST
説明
CSIDriver を作成する
表27.7 クエリーパラメーター
パラメーター説明

dryRun

string

これが指定されている場合は、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合は、エラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべての dryRun ステージが処理されます。

fieldManager

string

fieldManager は、これらの変更を行っているアクターまたはエンティティーに関連付けられた名前です。値は 128 文字未満である必要があり、https://golang.org/pkg/unicode/#IsPrint で定義されているように、印刷可能な文字のみが含まれている必要があります。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです - Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合、リクエストは BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

表27.8 本文パラメーター
パラメーター説明

body

CSIDriver スキーマ

 
表27.9 HTTP 応答
HTTP コード応答本文

200 - OK

CSIDriver スキーマ

201 - Created

CSIDriver スキーマ

202 - Accepted

CSIDriver スキーマ

401 - Unauthorized

空白

27.2.2.2. /apis/storage.k8s.io/v1/watch/csidrivers

表27.10 グローバルクエリーパラメーター
パラメーター説明

allowWatchBookmarks

boolean

allowWatchBookmarks は、タイプが BOOKMARK の監視イベントを要求します。ブックマークを実装していないサーバーはこのフラグを無視する可能性があり、ブックマークはサーバーの判断で送信されます。クライアントは、ブックマークが特定の間隔で返される、またはサーバーがセッション中に BOOKMARK イベントを送信すると想定するべきではありません。これが watch でない場合は、このフィールドが無視されます。

continue

string

サーバーからさらに結果を取得する場合は、continue オプションを設定する必要があります。この値はサーバー定義であるため、クライアントは同じクエリーパラメーター (continue の値を除く) で、以前のクエリー結果からの continue 値のみを使用でき、サーバーは認識できない continue 値を拒否する可能性があります。指定された continue の値が有効期限切れ (通常 5-15 分) やサーバーでの設定変更により無効となった場合、サーバーは 410 ResourceExpired エラーと continue トークンを返します。クライアントが一貫性のあるリストを必要とする場合は、続行フィールドなしでリストを再起動する必要があります。必要としない場合、クライアントは 410 エラーで受信したトークンを使用して別のリスト要求を送信できます。サーバーは次のキーから始まるリストで応答しますが、最新のスナップショットから取得するため、以前のリストの結果とは矛盾します。作成、変更、または削除されたオブジェクトは、キーが「次のキー」の後にある限り応答に含まれます。

watch が true の場合、このフィールドはサポートされません。クライアントは、サーバーから返された最後の resourceVersion 値から監視を開始し、変更を見逃すことはありません。

fieldSelector

string

返されるオブジェクトのリストをフィールドごとに制限するセレクター。デフォルトは everything です。

labelSelector

string

返されるオブジェクトのリストをラベルで制限するためのセレクター。デフォルトは everything です。

limit

integer

limit は、リスト呼び出しに対して返される応答の最大数です。他にもアイテムが存在する場合は、サーバーは、リストのメタデータ上の `continue` フィールドを、同じ初期クエリーで使用できる値に設定して、次の結果セットを取得します。制限を設定すると、要求されたすべてのオブジェクトが除外された場合に、要求された量より少ないアイテム (最大 0 個のアイテム) が返される場合があります。クライアントは、続行フィールドの存在のみを使用して、より多くの結果が利用可能かどうかを判断する必要があります。サーバーは limit 引数をサポートしない場合もあり、その場合は利用可能なすべての結果を返します。制限が指定され、続行フィールドが空の場合、クライアントはこれ以上結果が利用できないと想定する場合があります。watch が true の場合、このフィールドはサポートされません。

サーバーは、continue を使用したときに返されるオブジェクトが、制限なしで単一のリスト呼び出しを発行するのと同じであることを保証します。つまり、最初の要求が発行された後に作成、変更、または削除されたオブジェクトは、後続の継続要求に含まれません。これは、一貫性のあるスナップショットと呼ばれることもあり、limit を使用して非常にサイズの大きい結果が小さめのチャンクに分けて受信することで、考えられるオブジェクトがすべて表示されるようにします。チャンクリスト中にオブジェクトが更新された場合は、最初のリスト結果が計算されたときに存在していたオブジェクトのバージョンが返されます。

pretty

string

true の場合は、出力が整形表示 (Pretty-print) されます。

resourceVersion

string

resourceVersion は、要求を処理できるリソースのバージョンに関する制約を設定します。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions を参照してください。

デフォルトは unset です。

resourceVersionMatch

string

resourceVersionMatch は、resourceVersion をリスト呼び出しに適用する方法を決定します。resourceVersion が設定されているリスト呼び出しには resourceVersionMatch を設定することが強く推奨されます。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions を参照してください。

デフォルトは unset です。

sendInitialEvents

boolean

`sendInitialEvents=true` may be set together with `watch=true`.その場合、監視ストリームは合成イベントで始まり、コレクション内のオブジェクトの現在の状態を生成します。このようなイベントがすべて送信されると、合成的 "Bookmark" イベントが送信されます。ブックマークはオブジェクトのセットに対応する ResourceVersion (RV) を報告し、`"k8s.io/initial-events-end": "true"` アノテーションが付けられます。その後、監視ストリームは通常どおり続行され、(RV に続く) 変更に対応する監視イベントが監視対象のオブジェクトに送信されます。

'sendInitialEvents' オプションが設定されている場合、resourceVersionMatch オプションも設定する必要があります。監視リクエストのセマンティクスとして、`resourceVersionMatch` = NotOlderThan は、最低でも、指定された `resourceVersion` と同程度に新しいデータとして解釈され、最低でも状態が ListOptions が指定したものと同程度に新しい `resourceVersion` に同期される場合にブックバークイベントが送信されます。 `resourceVersion` が設定されていない場合、"consistent read" として解釈され、少なくともリクエストの処理が開始された瞬間までの状態が同期されると、ブックマークイベントが送信されます。- `resourceVersionMatch` を他の値に設定するか、未設定にすると、無効なエラーが返されます。

`resourceVersion=""` または `resourceVersion="0"` (下位互換性の目的) の場合、デフォルトは true、それ以外の場合は false です。

timeoutSeconds

integer

リスト/ウォッチ呼び出しのタイムアウト。これにより、アクティビティーの有無に関係なく、呼び出し時間が制限されます。

watch

boolean

記述されたリソースへの変更を監視し、追加、更新、および削除通知のストリームとして返します。resourceVersion を指定します。

HTTP メソッド
GET
説明
CSIDriver のリストに対する個々の変更を監視します。非推奨: 代わりに、リスト操作で watch パラメーターを使用してください。
表27.11 HTTP 応答
HTTP コード応答本文

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

27.2.2.3. /apis/storage.k8s.io/v1/csidrivers/{name}

表27.12 グローバルパスパラメーター
パラメーター説明

name

string

CSIDriver の名前

表27.13 グローバルクエリーパラメーター
パラメーター説明

pretty

string

true の場合は、出力が整形表示 (Pretty-print) されます。

HTTP メソッド
DELETE
説明
CSIDriver を削除する
表27.14 クエリーパラメーター
パラメーター説明

dryRun

string

これが指定されている場合は、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合は、エラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべての dryRun ステージが処理されます。

gracePeriodSeconds

integer

オブジェクトが削除されるまでの時間 (秒)。値は負の値ではない整数にする必要があります。値をゼロに指定すると、ただちに削除されます。この値が nil の場合は、指定されたタイプのデフォルトの猶予期間が使用されます。指定しない場合は、デフォルトでオブジェクトごとの値になります。ゼロはすぐに削除することを意味します。

orphanDependents

boolean

非推奨。PropagationPolicy を使用してください。このフィールドは 1.7 で非推奨となります。依存オブジェクトが孤立している必要があります。true/false の場合は、孤立したファイナライザーがオブジェクトのファイナライザー一覧で追加/削除されます。このフィールドまたは PropagationPolicy のいずれかを設定できますが、両方を設定できません。

propagationPolicy

string

ガベージコレクションが実行されるかどうか、およびその方法。このフィールドまたは OrphanDependents のどちらかを設定できますが、両方を設定できません。デフォルトポリシーは、metadata.finalizers に設定されている既存のファイナライザーとリソース固有のデフォルトポリシーによって決定されます。許容値は次のとおりです。'Orphan' - 依存を削除して孤立させます。'Background' - ガベージコレクターがバックグラウンドで依存関係を削除できるようにします。'Foreground' - フォアグラウンド内のすべての依存関係を削除するカスケードポリシーです。

表27.15 本文パラメーター
パラメーター説明

body

DeleteOptions スキーマ

 
表27.16 HTTP 応答
HTTP コード応答本文

200 - OK

CSIDriver スキーマ

202 - Accepted

CSIDriver スキーマ

401 - Unauthorized

空白

HTTP メソッド
GET
説明
指定された CSIDriver を読み取る
表27.17 HTTP 応答
HTTP コード応答本文

200 - OK

CSIDriver スキーマ

401 - Unauthorized

空白

HTTP メソッド
PATCH
説明
指定された CSIDriver を部分的に更新する
表27.18 クエリーパラメーター
パラメーター説明

dryRun

string

これが指定されている場合は、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合は、エラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべての dryRun ステージが処理されます。

fieldManager

string

fieldManager は、これらの変更を行っているアクターまたはエンティティーに関連付けられた名前です。値は 128 文字未満である必要があり、https://golang.org/pkg/unicode/#IsPrint で定義されているように、印刷可能な文字のみが含まれている必要があります。このフィールドは、apply 要求 (application/apply-patch) の場合は必須ですが、apply 以外のパッチタイプ (JsonPatch、MergePatch、StrategicMergePatch) の場合は任意です。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです - Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合、リクエストは BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

force

boolean

Force は、Apply 要求を強制します。これは、ユーザーが他の人が所有する競合するフィールドを再取得することを意味します。非適用パッチ要求の場合は、強制フラグを設定解除する必要があります。

表27.19 本文パラメーター
パラメーター説明

body

Patch スキーマ

 
表27.20 HTTP 応答
HTTP コード応答本文

200 - OK

CSIDriver スキーマ

201 - Created

CSIDriver スキーマ

401 - Unauthorized

空白

HTTP メソッド
PUT
説明
指定された CSIDriver を置き換える
表27.21 クエリーパラメーター
パラメーター説明

dryRun

string

これが指定されている場合は、変更を永続化してはならないことを示します。dryRun ディレクティブが無効な場合や、認識されない場合は、エラーの応答が返され、その要求に対する処理はこれ以上行われません。有効な値は All で、すべての dryRun ステージが処理されます。

fieldManager

string

fieldManager は、これらの変更を行っているアクターまたはエンティティーに関連付けられた名前です。値は 128 文字未満である必要があり、https://golang.org/pkg/unicode/#IsPrint で定義されているように、印刷可能な文字のみが含まれている必要があります。

fieldValidation

string

fieldValidation は、不明なフィールドまたは重複したフィールドを含むリクエスト (POST/PUT/PATCH) 内のオブジェクトを処理する方法をサーバーに指示します。有効な値は Ignore です。オブジェクトからサイレントにドロップされた不明なフィールドを無視し、デコーダーが検出した最後の重複フィールドを除くすべてを無視します。これは、v1.23 より前のデフォルトの動作です。- Warn: オブジェクトから削除された不明なフィールドごと、および検出された重複フィールドごとに、標準の警告応答ヘッダーを介して警告が送信されます。他にエラーがなければ要求は成功し、重複するフィールドの最後のものだけを保持します。これは v1.23 以降のデフォルトです - Strict: 不明なフィールドがオブジェクトから削除される場合、または重複フィールドが存在する場合、リクエストは BadRequest エラーで失敗します。サーバーから返されるエラーには、検出されたすべての不明な重複フィールドが含まれます。

表27.22 本文パラメーター
パラメーター説明

body

CSIDriver スキーマ

 
表27.23 HTTP 応答
HTTP コード応答本文

200 - OK

CSIDriver スキーマ

201 - Created

CSIDriver スキーマ

401 - Unauthorized

空白

27.2.2.4. /apis/storage.k8s.io/v1/watch/csidrivers/{name}

表27.24 グローバルパスパラメーター
パラメーター説明

name

string

CSIDriver の名前

表27.25 グローバルクエリーパラメーター
パラメーター説明

allowWatchBookmarks

boolean

allowWatchBookmarks は、タイプが BOOKMARK の監視イベントを要求します。ブックマークを実装していないサーバーはこのフラグを無視する可能性があり、ブックマークはサーバーの判断で送信されます。クライアントは、ブックマークが特定の間隔で返される、またはサーバーがセッション中に BOOKMARK イベントを送信すると想定するべきではありません。これが watch でない場合は、このフィールドが無視されます。

continue

string

サーバーからさらに結果を取得する場合は、continue オプションを設定する必要があります。この値はサーバー定義であるため、クライアントは同じクエリーパラメーター (continue の値を除く) で、以前のクエリー結果からの continue 値のみを使用でき、サーバーは認識できない continue 値を拒否する可能性があります。指定された continue の値が有効期限切れ (通常 5-15 分) やサーバーでの設定変更により無効となった場合、サーバーは 410 ResourceExpired エラーと continue トークンを返します。クライアントが一貫性のあるリストを必要とする場合は、続行フィールドなしでリストを再起動する必要があります。必要としない場合、クライアントは 410 エラーで受信したトークンを使用して別のリスト要求を送信できます。サーバーは次のキーから始まるリストで応答しますが、最新のスナップショットから取得するため、以前のリストの結果とは矛盾します。作成、変更、または削除されたオブジェクトは、キーが「次のキー」の後にある限り応答に含まれます。

watch が true の場合、このフィールドはサポートされません。クライアントは、サーバーから返された最後の resourceVersion 値から監視を開始し、変更を見逃すことはありません。

fieldSelector

string

返されるオブジェクトのリストをフィールドごとに制限するセレクター。デフォルトは everything です。

labelSelector

string

返されるオブジェクトのリストをラベルで制限するためのセレクター。デフォルトは everything です。

limit

integer

limit は、リスト呼び出しに対して返される応答の最大数です。他にもアイテムが存在する場合は、サーバーは、リストのメタデータ上の `continue` フィールドを、同じ初期クエリーで使用できる値に設定して、次の結果セットを取得します。制限を設定すると、要求されたすべてのオブジェクトが除外された場合に、要求された量より少ないアイテム (最大 0 個のアイテム) が返される場合があります。クライアントは、続行フィールドの存在のみを使用して、より多くの結果が利用可能かどうかを判断する必要があります。サーバーは limit 引数をサポートしない場合もあり、その場合は利用可能なすべての結果を返します。制限が指定され、続行フィールドが空の場合、クライアントはこれ以上結果が利用できないと想定する場合があります。watch が true の場合、このフィールドはサポートされません。

サーバーは、continue を使用したときに返されるオブジェクトが、制限なしで単一のリスト呼び出しを発行するのと同じであることを保証します。つまり、最初の要求が発行された後に作成、変更、または削除されたオブジェクトは、後続の継続要求に含まれません。これは、一貫性のあるスナップショットと呼ばれることもあり、limit を使用して非常にサイズの大きい結果が小さめのチャンクに分けて受信することで、考えられるオブジェクトがすべて表示されるようにします。チャンクリスト中にオブジェクトが更新された場合は、最初のリスト結果が計算されたときに存在していたオブジェクトのバージョンが返されます。

pretty

string

true の場合は、出力が整形表示 (Pretty-print) されます。

resourceVersion

string

resourceVersion は、要求を処理できるリソースのバージョンに関する制約を設定します。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions を参照してください。

デフォルトは unset です。

resourceVersionMatch

string

resourceVersionMatch は、resourceVersion をリスト呼び出しに適用する方法を決定します。resourceVersion が設定されているリスト呼び出しには resourceVersionMatch を設定することが強く推奨されます。詳細は、https://kubernetes.io/docs/reference/using-api/api-concepts/#resource-versions を参照してください。

デフォルトは unset です。

sendInitialEvents

boolean

`sendInitialEvents=true` may be set together with `watch=true`.その場合、監視ストリームは合成イベントで始まり、コレクション内のオブジェクトの現在の状態を生成します。このようなイベントがすべて送信されると、合成的 "Bookmark" イベントが送信されます。ブックマークはオブジェクトのセットに対応する ResourceVersion (RV) を報告し、`"k8s.io/initial-events-end": "true"` アノテーションが付けられます。その後、監視ストリームは通常どおり続行され、(RV に続く) 変更に対応する監視イベントが監視対象のオブジェクトに送信されます。

'sendInitialEvents' オプションが設定されている場合、resourceVersionMatch オプションも設定する必要があります。監視リクエストのセマンティクスとして、`resourceVersionMatch` = NotOlderThan は、最低でも、指定された `resourceVersion` と同程度に新しいデータとして解釈され、最低でも状態が ListOptions が指定したものと同程度に新しい `resourceVersion` に同期される場合にブックバークイベントが送信されます。 `resourceVersion` が設定されていない場合、"consistent read" として解釈され、少なくともリクエストの処理が開始された瞬間までの状態が同期されると、ブックマークイベントが送信されます。- `resourceVersionMatch` を他の値に設定するか、未設定にすると、無効なエラーが返されます。

`resourceVersion=""` または `resourceVersion="0"` (下位互換性の目的) の場合、デフォルトは true、それ以外の場合は false です。

timeoutSeconds

integer

リスト/ウォッチ呼び出しのタイムアウト。これにより、アクティビティーの有無に関係なく、呼び出し時間が制限されます。

watch

boolean

記述されたリソースへの変更を監視し、追加、更新、および削除通知のストリームとして返します。resourceVersion を指定します。

HTTP メソッド
GET
説明
CSIDriver 種類のオブジェクトへの変更を監視します。非推奨: 代わりに、リスト操作で watch パラメーターを使用し、fieldSelector パラメーターで単一の項目にフィルター処理します。
表27.26 HTTP 応答
HTTP コード応答本文

200 - OK

WatchEvent スキーマ

401 - Unauthorized

空白

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.