NetApp HCI または SolidFire バックエンドを設定します
Trident環境でElementバックエンドを作成して使用する方法について説明します。
Elementドライバの詳細
Tridentは、クラスタと通信するためのストレージドライバを提供します solidfire-san
。サポートされているアクセスモードは、ReadWriteOnce(RWO)、ReadOnlyMany(ROX)、ReadWriteMany(RWX)、ReadWriteOncePod(RWOP)です。
`solidfire-san`ストレージドライバは、_file_and_block_volumeモードをサポートしています。volumeModeの場合 `Filesystem`、Tridentはボリュームを作成し、ファイルシステムを作成します。ファイルシステムのタイプは StorageClass で指定されます。
ドライバ | プロトコル | ボリュームモード | サポートされているアクセスモード | サポートされるファイルシステム |
---|---|---|---|---|
「 olidfire -san 」 |
iSCSI |
ブロック |
RWO、ROX、RWX、RWOP |
ファイルシステムがありません。raw ブロックデバイスです。 |
「 olidfire -san 」 |
iSCSI |
ファイルシステム |
RWO、RWOP |
「 xfs 」、「 ext3 」、「 ext4 」 |
作業を開始する前に
Elementバックエンドを作成する前に、次の情報が必要になります。
-
Element ソフトウェアを実行する、サポート対象のストレージシステム。
-
NetApp HCI / SolidFire クラスタ管理者またはボリュームを管理できるテナントユーザのクレデンシャル。
-
すべての Kubernetes ワーカーノードに適切な iSCSI ツールをインストールする必要があります。を参照してください "ワーカーノードの準備情報"。
バックエンド構成オプション
バックエンド設定オプションについては、次の表を参照してください。
パラメータ | 説明 | デフォルト |
---|---|---|
「バージョン」 |
常に 1 |
|
'torageDriverName' |
ストレージドライバの名前 |
常に「SolidFire - SAN」 |
backendName` |
カスタム名またはストレージバックエンド |
「SolidFire _」+ストレージ(iSCSI)IPアドレス |
「エンドポイント」 |
テナントのクレデンシャルを使用する SolidFire クラスタの MVIP |
|
「 VIP 」 |
ストレージ( iSCSI )の IP アドレスとポート |
|
「ラベル」 |
ボリュームに適用する任意の JSON 形式のラベルのセット。 |
"" |
「 tenantname 」 |
使用するテナント名(見つからない場合に作成) |
|
「 InitiatorIFCace 」 |
iSCSI トラフィックを特定のホストインターフェイスに制限します |
デフォルト |
UseCHAP' |
CHAPを使用してiSCSIを認証します。TridentはCHAPを使用します。 |
正しいです |
「アクセスグループ」 |
使用するアクセスグループ ID のリスト |
「Trident」という名前のアクセスグループのIDを検索します。 |
「タイプ」 |
QoS の仕様 |
|
「 limitVolumeSize 」と入力します |
要求されたボリュームサイズがこの値を超えている場合、プロビジョニングが失敗します |
"" (デフォルトでは適用されません) |
「バグトレースフラグ」 |
トラブルシューティング時に使用するデバッグフラグ。例:{"api":false、"method":true} |
null |
|
トラブルシューティングを行い、詳細なログダンプが必要な場合を除き、「 ebugTraceFlags 」は使用しないでください。 |
例1:のバックエンド構成 solidfire-san
3種類のボリュームを備えたドライバ
次の例は、 CHAP 認証を使用するバックエンドファイルと、特定の QoS 保証を適用した 3 つのボリュームタイプのモデリングを示しています。その場合 ' ストレージ・クラスを定義して 'iops`storage クラス・パラメータを使用します
---
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とともに構成されているバックエンド定義ファイルを示しています。
ストレージプールに存在するラベルを、プロビジョニング時にバックエンドストレージLUNにコピーしますTrident。ストレージ管理者は、仮想プールごとにラベルを定義したり、ボリュームをラベルでグループ化したりできます。
以下に示すバックエンド定義ファイルの例では、すべてのストレージプールに対して特定のデフォルトが設定されています。これにより、が設定されます 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(solidfire-gold-four
)が最初の仮想プールにマッピングされます。これは、ゴールドのパフォーマンスとゴールドのパフォーマンスを提供する唯一のプールです Volume Type QoS
。最後のStorageClass(solidfire-silver
)は、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