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

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

共同作成者

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

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

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

  • subscriptionID Azure NetApp Files を有効にしたAzureサブスクリプションから選択します。

  • tenantIDclientID`および `clientSecret から "アプリケーション登録" Azure Active Directory で、 Azure NetApp Files サービスに対する十分な権限がある。アプリケーション登録では、を使用する必要があります Owner または Contributor Azureで事前定義されているロール。

    ヒント Azure の組み込みロールの詳細については、を参照してください "Azure に関するドキュメント"
  • Azureがサポートされます location を1つ以上含むデータセンターを展開します "委任されたサブネット"

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

このタスクについて

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

メモ Astra Trident 21.04.0 以前では、手動 QoS 容量プールはサポートされていません。

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

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

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

version

常に 1

storageDriverName

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

「 azure-NetApp-files 」

backendName

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

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

subscriptionID

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

tenantID

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

clientID

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

clientSecret

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

serviceLevel

の1つ StandardPremium`または `Ultra

"" (ランダム)

location

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

"" (ランダム)

virtualNetwork

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

"" (ランダム)

subnet

に委任されたサブネットの名前 Microsoft.Netapp/volumes

"" (ランダム)

nfsMountOptions

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

"nfsvers=3 "

limitVolumeSize

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

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

debugTraceFlags

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

null

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

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

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

exportRule

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

"0.0.0.0/0 "

size

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

" 100G "

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

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

例 1 :最小限の構成

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

この構成は、 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"
}

例 2 :単一の場所と特定のサービスレベルの設定

このバックエンド構成では、Azureにボリュームが配置されます eastus の場所 Premium 容量プール: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": "Premium"
    }

例 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": "Premium",
        "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",
            "size": "200Gi"
        }
    }

例 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",
        "nfsMountOptions": "vers=3,proto=tcp,timeo=600",
        "labels": {
            "cloud": "azure"
        },
        "location": "eastus",

        "storage": [
            {
                "labels": {
                    "performance": "gold"
                },
                "serviceLevel": "Ultra"
            },
            {
                "labels": {
                    "performance": "silver"
                },
                "serviceLevel": "Premium"
            },
            {
                "labels": {
                    "performance": "bronze"
                },
                "serviceLevel": "Standard",
            }
        ]
    }

次のようになります StorageClass 定義は、上記のストレージプールを参照してください。を使用します parameters.selector フィールドでは、を指定できます StorageClass ボリュームをホストするために使用する仮想プール。ボリュームには、選択したプールで定義された要素があります。

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 コマンドを再度実行できます。