Skip to main content
本製品の最新リリースがご利用いただけます。
日本語は機械翻訳による参考訳です。内容に矛盾や不一致があった場合には、英語の内容が優先されます。

Azure NetApp Files バックエンドを設定します

共同作成者

提供されている構成例を使用して、 Azure NetApp Files ( ANF )を Astra Trident インストールのバックエンドとして設定する方法を説明します。

メモ Azure NetApp Files サービスでは、 100GB 未満のボリュームはサポートされません。100 GB のボリュームが小さい場合は、 Trident が自動的に作成します。
必要なもの

を設定して使用します "Azure NetApp Files の特長" バックエンドには次のものが必要です。

  • Azure NetApp Files が有効な Azure サブスクリプションのスクリプト ID 。

  • 「 tenantID 」、「 clientID 」、「 clientSecret 」を「」から選択します "アプリケーション登録" Azure Active Directory で、 Azure NetApp Files サービスに対する十分な権限がある。App Registration では、 Azure で事前定義されている「 Owner 」または「 Contributor 」の役割を使用する必要があります。

    ヒント Azure の組み込みロールの詳細については、を参照してください "Azure に関するドキュメント"
  • 少なくとも 1 つを含む Azure の「場所」 "委任されたサブネット"。Trident 22.01 では、「 location 」パラメータはバックエンド構成ファイルの最上位にある必須フィールドです。仮想プールで指定された場所の値は無視されます。

  • Azure NetApp Files を初めて使用する場合や新しい場所で使用する場合は、いくつかの初期設定が必要です。を参照してください "クイックスタートガイド"

このタスクについて

Trident は、バックエンド構成(サブネット、仮想ネットワーク、サービスレベル、場所)に基づいて、要求された場所で利用可能な容量プールに ANF ボリュームを作成し、要求されたサービスレベルとサブネットに対応します。

メモ 注: Astra Trident は、手動の QoS 容量プールをサポートしていません。

バックエンド構成オプション

バックエンド設定オプションについては、次の表を参照してください。

パラメータ 説明 デフォルト

「バージョン」

常に 1

'torageDriverName'

ストレージドライバの名前

「 azure-NetApp-files 」

backendName`

カスタム名またはストレージバックエンド

ドライバ名 + "_" + ランダムな文字

' スクリプト ID' 。

Azure サブスクリプションのサブスクリプション ID

「 tenantID 」。

アプリケーション登録からのテナント ID

「 clientID 」。

アプリケーション登録からのクライアント ID

「 clientSecret 」を入力します。

アプリケーション登録からのクライアントシークレット

「サービスレベル」

「標準」、「プレミアム」、「ウルトラ」のいずれかです

"" (ランダム)

「ロケーション」

新しいボリュームを作成する Azure の場所の名前

「 resourceGroups 」

検出されたリソースをフィルタリングするためのリソースグループのリスト

"[]" (フィルタなし)

「 netappAccounts 」のように入力します

検出されたリソースをフィルタリングするためのネットアップアカウントのリスト

"[]" (フィルタなし)

「 capacityPools

検出されたリソースをフィルタリングする容量プールのリスト

"[]" (フィルタなし、ランダム)

「 virtualNetwork 」

委任されたサブネットを持つ仮想ネットワークの名前

""

「サブネット」

「 icrosoft.Netapp/volumes` 」に委任されたサブネットの名前

""

「 nfsvMountOptions 」のように入力します

NFS マウントオプションのきめ細かな制御。

"nfsvers=3 "

「 limitVolumeSize 」と入力します

要求されたボリュームサイズがこの値を超えている場合はプロビジョニングが失敗します

"" (デフォルトでは適用されません)

「バグトレースフラグ」

トラブルシューティング時に使用するデバッグフラグ。例 : `\{"API":false," メソッド ":true," 検出 ":true}`トラブルシューティングを行って詳細なログダンプが必要な場合を除き、このオプションは使用しないでください。

null

警告 PVC の作成時に「 No capacity pools found 」エラーが発生した場合、アプリケーション登録に必要な権限とリソース(サブネット、仮想ネットワーク、容量プール)が関連付けられていない可能性があります。Astra Trident は、デバッグが有効なときにバックエンドが作成されたときに、検出した Azure リソースをログに記録します。適切なロールが使用されているかどうかを確認してください。
メモ NFS バージョン 4.1 を使用してボリュームをマウントする場合は、 NFS v4.1 を選択するために、カンマ区切りのマウントオプションリストに「 nfsvers=4` 」を含めることができます。ストレージクラスで設定されたマウントオプションは、バックエンド構成ファイルで設定されたマウントオプションよりも優先されます。

resourceGroups'netappAccounts'capacityPools'virtualNetwork' および 'subnet' の値は ' 短い名前または完全修飾名を使用して指定できます省略形は同じ名前の複数のリソースに一致している可能性があるため、ほとんどの場合は完全修飾名を使用することを推奨します。resourceGroups'netappAccounts'capacityPools' の値は ' 検出されたリソースのセットをこのストレージバックエンドで使用可能なリソースに制限するフィルタであり ' 任意の組み合わせで指定できます完全修飾名の形式は次のとおりです。

を入力します の形式で入力し

リソースグループ

< リソースグループ >

ネットアップアカウント

< リソースグループ >/< ネットアップアカウント >

容量プール

< リソースグループ >/< ネットアップアカウント >/< 容量プール >

仮想ネットワーク

< リソースグループ >/< 仮想ネットワーク >

サブネット

<resource group>/< 仮想ネットワーク >/< サブネット >

構成ファイルの特別なセクションで次のオプションを指定することで、各ボリュームのデフォルトのプロビジョニング方法を制御できます。以下の設定例を参照してください。

パラメータ 説明 デフォルト

「 exportRule 」

新しいボリュームのエクスポートルール

"0.0.0.0/0 "

「スナップショット方向」

.snapshot ディレクトリの表示を制御します

いいえ

「 size 」

新しいボリュームのデフォルトサイズ

" 100G "

「 unixPermissions 」

新しいボリュームの UNIX 権限( 8 進数の 4 桁)

"" (プレビュー機能、サブスクリプションでホワイトリスト登録が必要)

「 exportRule 」の値は、 CIDR 表記の IPv4 アドレスまたは IPv4 サブネットの任意の組み合わせをカンマで区切ったリストにする必要があります。

メモ ANF バックエンドに作成されたすべてのボリュームに対して、ストレージプールに含まれるすべてのラベルが、プロビジョニング時にストレージボリュームにコピーされます。ストレージ管理者は、ストレージプールごとにラベルを定義し、ストレージプール内に作成されたすべてのボリュームをグループ化できます。これにより、バックエンド構成で提供されるカスタマイズ可能な一連のラベルに基づいてボリュームを簡単に区別できます。

例 1 :最小限の構成

これは、バックエンドの絶対的な最小構成です。この構成では、 ANF に委譲されたネットアップアカウント、容量プール、サブネットがすべて検出され、それらのプールまたはサブネットの 1 つに新しいボリュームがランダムに配置されます。

この構成は、 ANF の利用を開始して何を試してみるときに理想的ですが、実際には、プロビジョニングするボリュームの範囲をさらに設定することを検討しています。

{
    "version": 1,
    "storageDriverName": "azure-netapp-files",
    "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
    "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
    "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
    "clientSecret": "SECRET",
    "location": "eastus"
}

例 2 :容量プールフィルタを使用した特定のサービスレベル設定

このバックエンド構成では 'Ultra 容量プール内の Azure の eastus ロケーションにボリュームを配置しますAstra Trident は、 ANF に委譲されたすべてのサブネットをその場所で自動的に検出し、いずれかのサブネットに新しいボリュームをランダムに配置します。

    {
        "version": 1,
        "storageDriverName": "azure-netapp-files",
        "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
        "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
        "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
        "clientSecret": "SECRET",
        "location": "eastus",
        "serviceLevel": "Ultra",
        "capacityPools": [
            "application-group-1/account-1/ultra-1",
            "application-group-1/account-1/ultra-2"
],
    }

例 3 :高度な設定

このバックエンド構成は、ボリュームの配置を単一のサブネットにまで適用する手間をさらに削減し、一部のボリュームプロビジョニングのデフォルト設定も変更します。

    {
        "version": 1,
        "storageDriverName": "azure-netapp-files",
        "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
        "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
        "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
        "clientSecret": "SECRET",
        "location": "eastus",
        "serviceLevel": "Ultra",
        "capacityPools": [
            "application-group-1/account-1/ultra-1",
            "application-group-1/account-1/ultra-2"
],
        "virtualNetwork": "my-virtual-network",
        "subnet": "my-subnet",
        "nfsMountOptions": "vers=3,proto=tcp,timeo=600",
        "limitVolumeSize": "500Gi",
        "defaults": {
            "exportRule": "10.0.0.0/24,10.0.1.0/24,10.0.2.100",
            "snapshotDir": "true",
            "size": "200Gi",
            "unixPermissions": "0777"
=======
        }
    }

例 4 :仮想ストレージプールの構成

このバックエンド構成では、 1 つのファイルに複数のストレージプールを定義します。これは、異なるサービスレベルをサポートする複数の容量プールがあり、それらを表すストレージクラスを Kubernetes で作成する場合に便利です。

    {
        "version": 1,
        "storageDriverName": "azure-netapp-files",
        "subscriptionID": "9f87c765-4774-fake-ae98-a721add45451",
        "tenantID": "68e4f836-edc1-fake-bff9-b2d865ee56cf",
        "clientID": "dd043f63-bf8e-fake-8076-8de91e5713aa",
        "clientSecret": "SECRET",
        "location": "eastus",
        "resourceGroups": ["application-group-1"],
        "nfsMountOptions": "vers=3,proto=tcp,timeo=600",
        "labels": {
            "cloud": "azure"
        },
        "location": "eastus",

        "storage": [
            {
                "labels": {
                    "performance": "gold"
                },
                "serviceLevel": "Ultra",
                "capacityPools": ["ultra-1", "ultra-2"]
            },
            {
                "labels": {
                    "performance": "silver"
                },
                "serviceLevel": "Premium",
                "capacityPools": ["premium-1"]
            },
            {
                "labels": {
                    "performance": "bronze"
                },
                "serviceLevel": "Standard",
                "capacityPools": ["standard-1", "standard-2"]
            }
        ]
    }

以下の「 torageClass 」定義は、上記のストレージプールを参照しています。「 parameters.selector` 」フィールドを使用すると、ボリュームのホストに使用される仮想プールを「 S torageClass 」ごとに指定できます。ボリュームには、選択したプールで定義された要素があります。

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: gold
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=gold"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: silver
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=silver"
allowVolumeExpansion: true
---
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: bronze
provisioner: csi.trident.netapp.io
parameters:
  selector: "performance=bronze"
allowVolumeExpansion: true

次の手順

バックエンド構成ファイルを作成したら、次のコマンドを実行します。

tridentctl create backend -f <backend-file>

バックエンドの作成に失敗した場合は、バックエンドの設定に何か問題があります。次のコマンドを実行すると、ログを表示して原因を特定できます。

tridentctl logs

構成ファイルで問題を特定して修正したら、 create コマンドを再度実行できます。