Unsolved
Community Manager
•
3.1K Posts
0
221
Dell Container Storage Modules (CSM) 1.5 – Encryption
Itzikr's Blog 日本語翻訳版
*オリジナルブログは以下URLから参照可能です
https://volumes.blog/2023/03/02/dell-container-storage-modules-csm-1-5-encryption/
A guest post by Anuraj PD
Dell CSM暗号化モジュールは、CSIドライバによってプロビジョニングされたボリューム上のユーザーデータを暗号化する機能を提供します。ボリュームデータはアプリケーションのワークロードを実行しているKubernetesワーカーホスト上で暗号化され、アプリケーションには透過的に処理されます。内部では、オープンソースFUSEベースの暗号化ツールであるgocryptfsが、ファイルの内容やファイルおよびディレクトリの名前を暗号化するために使用されます。現在、この暗号化モジュールはテックプレビュー状態であり、PowerScaleアレイのみをサポートしています。このデモでは、CSIドライバを使用して暗号化されたボリュームをプロビジョニングするために、PowerScaleに統合されたOpenShiftクラスターを使用します。CSM暗号化は、CSIドライバのインストール時に有効にできます。CSM暗号化モジュールは、キーを保持するための外部のHashiCorp Vaultサーバーが必要です。このデモでは、同じクラスター上でVaultサーバーも実行しています。
CSM暗号化モジュールを有効にすると、通常のプロビジョナーに加えて、暗号化されたボリュームを作成するために、1つプロビジョナーが追加されます。暗号化されたボリュームのプロビジョナーのデフォルトの名前はsec-isilon.dellemc.comですが、名前は設定変更可能です。このプロビジョナーを使用するストレージクラスを利用して、必要に応じて暗号化されたボリューム、または暗号化されていないボリュームを作成することができます。したがって、PVCを作成するために使用するストレージクラスによって、同じクラスター内に暗号化されたボリュームと暗号化されていないボリュームを混在させることが可能です。
ここでは2つのストレージクラスを作成します。1つは暗号化されていないボリュームのプロビジョナーを使用し、もう1つは暗号化されたボリュームのプロビジョナーを使用します。両方のストレージクラスは同じベースパスを使用するため、暗号化されたCSIボリュームと暗号化されていないCSIボリュームの両方が同じパスで作成されます。したがって、PVCで使用されるストレージクラスに応じて、PowerScaleから暗号化されたボリューム、または暗号化されていないボリュームをプロビジョニングすることができます。
暗号化されたボリューム用のストレージクラスと、暗号化されていないボリューム用のストレージクラスを使用して2つのPVCを作成し、それらを2つの異なるポッドにマウントします。
ここでは両方のボリュームにデータを書き込むための単純なbusyboxポッドを使用します。以下は、PowerScale からプロビジョニングされた PV にデータを書き込む Pod スペックの抜粋です。
両方のポッドが実行されていて、これらのポッドはPowerScaleからプロビジョニングされたPVに対して1つは暗号化し、もう1つは暗号化せずに書き込みを行います。PowerScaleからPVのベースパスをエクスポートし、管理マシンにマウントすることができます。その後、これらのポッドで使用されるPVのコンテンツをリストします。
暗号化されていないボリュームにアクセスすると、ボリューム内のコンテンツを読むことができます。しかし、暗号化されたPVCでは、ポッドが書き込んだファイルを見ることができません。
これらの動作は以下のデモで見ることができます。
翻訳者:Uehara Y.