NetApp HCIまたはSolidFireバックエンドを構成する
Tridentインストールで Element バックエンドを作成して使用する方法を学習します。
要素ドライバーの詳細
Tridentは `solidfire-san`クラスターと通信するためのストレージ ドライバー。サポートされているアクセス モードは、ReadWriteOnce (RWO)、ReadOnlyMany (ROX)、ReadWriteMany (RWX)、ReadWriteOncePod (RWOP) です。
その `solidfire-san`ストレージ ドライバーは、ファイル および ブロック ボリューム モードをサポートします。のために `Filesystem`volumeMode では、 Trident はボリュームを作成し、ファイルシステムを作成します。ファイルシステムの種類は、StorageClass によって指定されます。
| ドライバ | プロトコル | ボリュームモード | サポートされているアクセスモード | サポートされているファイルシステム |
|---|---|---|---|---|
|
iSCSI |
ブロック |
RWO、ROX、RWX、RWOP |
ファイルシステムがありません。生のブロックデバイス。 |
|
iSCSI |
Filesystem |
RWO、RWOP |
|
開始する前に
Element バックエンドを作成する前に、次のものが必要です。
-
Element ソフトウェアを実行するサポートされているストレージ システム。
-
ボリュームを管理できるNetApp HCI/ SolidFireクラスター管理者またはテナント ユーザーの資格情報。
-
すべての Kubernetes ワーカーノードに適切な iSCSI ツールがインストールされている必要があります。参照"ワーカーノードの準備情報"。
バックエンド構成オプション
バックエンドの構成オプションについては、次の表を参照してください。
| パラメータ | 説明 | デフォルト |
|---|---|---|
|
常に1 |
|
|
ストレージ ドライバーの名前 |
いつも「solidfireさん」 |
|
カスタム名またはストレージバックエンド |
「solidfire_」+ ストレージ(iSCSI)IPアドレス |
|
テナント資格情報を持つSolidFireクラスタの MVIP |
|
|
ストレージ(iSCSI)IPアドレスとポート |
|
|
ボリュームに適用する任意の JSON 形式のラベルのセット。 |
"" |
|
使用するテナント名(見つからない場合は作成) |
|
|
iSCSIトラフィックを特定のホストインターフェースに制限する |
"デフォルト" |
|
CHAP を使用して iSCSI を認証します。 Trident はCHAP を使用します。 |
true |
|
使用するアクセスグループIDのリスト |
「trident」という名前のアクセスグループのIDを検索します |
|
QoS仕様 |
|
|
要求されたボリューム サイズがこの値を超える場合、プロビジョニングに失敗します |
"" (デフォルトでは強制されません) |
|
トラブルシューティング時に使用するデバッグ フラグ。例: {"api":false, "method":true} |
ヌル |
|
|
使用しないでください `debugTraceFlags`ただし、トラブルシューティングを行っており、詳細なログ ダンプが必要な場合を除きます。 |
例1: バックエンド構成 `solidfire-san`3種類のボリュームを備えたドライバー
この例では、CHAP 認証を使用し、特定の QoS 保証を備えた 3 つのボリューム タイプをモデル化するバックエンド ファイルを示します。おそらく、これらのそれぞれを消費するためのストレージクラスを定義することになるでしょう。 `IOPS`ストレージ クラス パラメータ。
---
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
例2: バックエンドとストレージクラスの構成 `solidfire-san`仮想プールを備えたドライバー
この例では、仮想プールと、それらを参照する StorageClasses が構成されたバックエンド定義ファイルを示します。
Trident は、プロビジョニング時にストレージ プールにあるラベルをバックエンド ストレージ LUN にコピーします。便宜上、ストレージ管理者は仮想プールごとにラベルを定義し、ラベルごとにボリュームをグループ化できます。
以下に示すサンプルのバックエンド定義ファイルでは、すべてのストレージプールに特定のデフォルトが設定されており、 `type`シルバーで。仮想プールは、 `storage`セクション。この例では、一部のストレージ プールは独自のタイプを設定し、一部のプールは上記で設定されたデフォルト値を上書きします。
---
version: 1
storageDriverName: solidfire-san
Endpoint: https://<user>:<password>@<mvip>/json-rpc/8.0
SVIP: <svip>:3260
TenantName: <tenant>
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
type: Silver
labels:
store: solidfire
k8scluster: dev-1-cluster
region: us-east-1
storage:
- labels:
performance: gold
cost: "4"
zone: us-east-1a
type: Gold
- labels:
performance: silver
cost: "3"
zone: us-east-1b
type: Silver
- labels:
performance: bronze
cost: "2"
zone: us-east-1c
type: Bronze
- labels:
performance: silver
cost: "1"
zone: us-east-1d
次の StorageClass 定義は、上記の仮想プールを参照します。使用して `parameters.selector`フィールドでは、各 StorageClass はボリュームをホストするために使用できる仮想プールを呼び出します。ボリュームには、選択した仮想プールで定義された側面が設定されます。
最初のStorageClass(solidfire-gold-four ) は最初の仮想プールにマップされます。これはゴールドパフォーマンスを提供する唯一のプールです Volume Type QoS`ゴールドの。最後のStorageClass(`solidfire-silver ) は、シルバー パフォーマンスを提供するストレージ プールを呼び出します。 Trident はどの仮想プールが選択されるか決定し、ストレージ要件が満たされていることを確認します。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-gold-four
provisioner: csi.trident.netapp.io
parameters:
selector: performance=gold; cost=4
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver-three
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver; cost=3
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-bronze-two
provisioner: csi.trident.netapp.io
parameters:
selector: performance=bronze; cost=2
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver-one
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver; cost=1
fsType: ext4
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: solidfire-silver
provisioner: csi.trident.netapp.io
parameters:
selector: performance=silver
fsType: ext4