6.13. MonitoringStack.spec.prometheusConfig.persistentVolumeClaim.dataSourceRef
dataSourceRef
は、空でないボリュームが必要な場合は、ボリュームにデータを取り込むオブジェクトを指定します。これには、空ではない API グループ (コアオブジェクトではない) または PersistentVolumeClaim
オブジェクトの任意のオブジェクトを指定できます。このフィールドが指定されている場合、ボリュームバインディングは、指定されたオブジェクトのタイプが、インストールされているボリュームポピュレーターまたはダイナミックプロビジョナーと一致する場合にのみ成功します。
このフィールドは、dataSource
フィールドの機能を置き換えるため、両方のフィールドが空でない場合は、同じ値である必要があります。下位互換性を確保するために、dataSourceRef
で namespace
が指定されておらず、一方が空でもう一方が空でない場合、両方のフィールド (dataSource
と dataSourceRef
) が自動的に同じ値に設定されます。dataSourceRef
で namespace
が指定されている場合、dataSource
は同じ値に設定されていないため、空にする必要があります。
dataSource
と dataSourceRef
には 3 つの重要な違いがあります。
-
dataSource
では特定の 2 種類のオブジェクトのみが許可されますが、dataSourceRef
ではコア以外のオブジェクトとPersistentVolumeClaim
オブジェクトが許可されます。 -
dataSource
は使用できない値を無視 (ドロップ) しますが、dataSourceRef
はすべての値を保持し、使用できない値が指定された場合はエラーを生成します。 -
dataSource
ではローカルオブジェクトのみが使用できますが、dataSourceRef
では任意の namespace のオブジェクトを使用できます。
ベータ版: このフィールドを使用するには、AnyVolumeDataSource
フィーチャーゲートを有効にする必要があります。
アルファ版: dataSourceRef
の namespace フィールドを使用するには、CrossNamespaceVolumeDataSource
フィーチャーゲートを有効にする必要があります。
名前 | タイプ | 説明 | 必須 |
---|---|---|---|
| string |
| true |
| string |
| true |
| string |
| false |
| string |
namespace が指定されている場合は、その namespace の所有者が参照を受け入れることができるように、参照された namespace に
アルファ版: このフィールドでは、 | false |