Tridentは、SolidFireアレイへの接続時にCHAPシークレットをどのように処理しますか
環境
トライデント
回答
SolidFireアレイで認証するようにTridentにCHAPを設定する場合、CHAPシークレットはSolidFireアカウントから取得されます。 CHAPは、アカウントの 作成時に自動的に定義されます。アカウントに属するすべてのボリュームは、アカウントで設定されたシークレットを使用します。ボリュームがどのボリュームアクセスグループ (VAG)にも含まれていない場合は、CHAPシークレット が検証されます。
Tridentは 、ポッドが割り当てられているワーカーノードにCHAP情報を含むiSCSI静的検出エントリを設定します。次に、iSCSIログインを完了してボリュームをマウントし、ポッドが永続ボリュームにアクセスできるようにします。
ボリュームへのアクセスが必要なコンテナでは、SolidFireボリュームは直接マウントされません。ホストクライアントは 標準のiSCSIコマンドを使用してSolidFireボリュームをマウントします。
- SolidFireアカウント名はTridentのテナント名です。
- CHAPシークレット はアカウントの作成時に自動的に生成される
- Tridentで作成されたボリュームがアカウントに属する
- Tridentボリュームの作成時にElement API呼び出しを使用してSolidFireクラスタからCHAPシークレットを取得
- Tridentは、 GetAccountByNameなどのSolidFire Element APIを実行し 、 バックエンドファイルに設定されたクレデンシャルを使用してアカウント情報を取得します。
アカウントの作成例:
アカウントの詳細の例:
バックエンドファイルを作成するときは、 UseCHAPを trueに設定します。
バックエンドファイルの例:
{ "version": 1, "storageDriverName": "solidfire-san", "Endpoint": "https://<user>:<password>@<mvip>/json-rpc/8.0", "SVIP": "<svip>:3260", "TenantName": "<tenant>", "labels": {"k8scluster": "dev1", "backend": "dev1-element-cluster"}, "UseCHAP": true, "Types": [{"Type": "Bronze", "Qos": {"minIOPS": 1000, "maxIOPS": 2000, "burstIOPS": 4000}}, {"Type": "Silver", "Qos": {"minIOPS": 4000, "maxIOPS": 6000, "burstIOPS": 8000}}, {"Type": "Gold", "Qos": {"minIOPS": 6000, "maxIOPS": 8000, "burstIOPS": 10000}}] }