5.2. CSI インラインの一時ボリューム
Container Storage Interface (CSI) のインライン一時ボリュームを使用すると、Pod のデプロイ時にインラインの一時ボリュームを作成し、Pod の破棄時にそれらを削除する Pod
仕様を定義できます。
この機能は、サポートされている Container Storage Interface (CSI) ドライバーでのみ利用できます。
CSI インラインの一時ボリュームは、テクノロジープレビュー機能としてのみご利用可能です。テクノロジープレビュー機能は、Red Hat の実稼働環境におけるサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。
Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
5.2.1. CSI インラインの一時ボリュームの概要
従来は、Container Storage Interface (CSI) ドライバーでサポートされるボリュームは PersistentVolume
および PersistentVolumeClaim
オブジェクトの組み合わせでのみ使用できます。
この機能により、PersistentVolume
オブジェクトではなく、Pod
仕様に CSI ボリュームを直接指定できます。インラインボリュームは一時的なボリュームであり、Pod の再起動後は永続化されません。
5.2.1.1. サポートの制限
デフォルトで、OpenShift Container Platform は以下の制限下で CSI インラインの一時ボリュームのクローン作成をサポートします。
- サポートは CSI ドライバーでのみ利用可能です。in-tree (インツリー) および FlexVolumes はサポートされません。
- OpenShift Container Platform には CSI ドライバーが含まれません。コミュニティーまたはストレージベンダー が提供する CSI ドライバーを使用します。CSI ドライバーの提供されるインストール手順に従います。
-
CSI ドライバーは、
Ephemeral
機能を含む、インラインボリューム機能を実装していない可能性があります。詳細は、CSI ドライバーのドキュメントを参照してください。
5.2.2. Pod 仕様への CSI インライン一時ボリュームの埋め込み
CSI インラインの一時ボリュームを OpenShift Container Platform の Pod
仕様に埋め込むことができます。ランタイム時に、ネストされたインラインボリュームは、関連付けられた Pod の一時的なライフサイクルに従うため、CSI ドライバーは Pod の作成および破棄時にボリューム操作のすべてのフェーズをすべて処理できます。
手順
-
Pod
オブジェクト定義を作成し、これをファイルに保存します。 CSI インラインの一時ボリュームをファイルに埋め込みます。
my-csi-app.yaml
kind: Pod apiVersion: v1 metadata: name: my-csi-app spec: containers: - name: my-frontend image: busybox volumeMounts: - mountPath: "/data" name: my-csi-inline-vol command: [ "sleep", "1000000" ] volumes: 1 - name: my-csi-inline-vol csi: driver: inline.storage.kubernetes.io volumeAttributes: foo: bar
- 1
- Pod で使用されるボリュームの名前。
直前のステップで保存したオブジェクト定義ファイルを作成します。
$ oc create -f my-csi-app.yaml