Azure NetApp Files バックエンドを設定します
Azure NetApp Files を Trident のバックエンドとして使用します。このバックエンドは、NFS および SMB ボリュームをサポートします。Trident は、Azure Kubernetes Service(AKS)クラスターのマネージド ID とワークロード ID をサポートします。
サポートされている Azure クラウド環境
Tridentは、複数のAzureクラウド環境でAzure NetApp Filesバックエンドをサポートします。
サポートされている Azure クラウドは次のとおりです:
-
Azure コマーシャル
-
Azure Government(Azure Government / MAG)
Trident を導入する場合、または Azure NetApp Files バックエンドを設定する場合は、Azure Resource Manager と認証エンドポイントが Azure クラウド環境と一致していることを確認してください。
Azure NetApp Files ドライバのサポートを確認
Tridentは、次のAzure NetApp Filesストレージドライバを提供します。
サポートされているアクセス モードには、ReadWriteOnce(RWO)、ReadOnlyMany(ROX)、ReadWriteMany(RWX)、および ReadWriteOncePod(RWOP)が含まれます。
| ドライバ | プロトコル | ボリュームモード | サポートされているアクセスモード | サポートされるファイルシステム |
|---|---|---|---|---|
「 azure-NetApp-files 」と入力します |
NFS |
ファイルシステム |
RWO、ROX、RWX、RWOP |
|
考慮事項の確認
-
Azure NetApp Filesは、50 GiB未満のボリュームをサポートしていません。Tridentは、より小さいボリュームが要求された場合、50 GiBのボリュームを作成します。
-
Tridentでは、Windowsノードで実行されているポッドにマウントされたSMBボリュームのみがサポートされます。
-
非商用 Azure クラウドでの Azure NetApp Files の導入には、クラウド固有の Azure Resource Manager と認証エンドポイントが必要です。Trident とすべてのバックエンド構成で、Azure クラウド環境に適したエンドポイントを使用していることを確認してください。
AKS のマネージド ID を使用する
Tridentは、AKSクラスタ用の"管理対象ID"をサポートしています。
`tridentctl`を使用して Azure NetApp Files バックエンドを作成または管理する場合は、正しい Azure クラウド環境用に構成されていることを確認してください。
マネージド ID を使用するには、次のものが必要です:
-
AKSを使用して導入されるKubernetesクラスタ
-
AKS Kubernetes クラスタで設定された管理対象 ID
-
Tridentがインストールされ、 `cloudProvider`が `"Azure"`に設定されている
編集 `tridentorchestrator_cr.yaml`して、 `cloudProvider`を `"Azure"`に設定します。
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullPolicy: IfNotPresent
cloudProvider: "Azure"
次の例では、Tridentをインストールし、環境変数 `$CP`を使用して `cloudProvider`を設定します:
helm install trident trident-operator-100.2506.0.tgz --create-namespace --namespace <trident-namespace> --set cloudProvider=$CP
次の例では Trident をインストールし、 cloud-provider フラグを `Azure`に設定します:
tridentctl install --cloud-provider="Azure" -n trident
AKS のワークロード ID を使用する
ワークロード ID を使用すると、Kubernetes ポッドはワークロード ID として認証することで Azure リソースにアクセスできるようになります。
`tridentctl`を使用して Azure NetApp Files バックエンドを作成または管理する場合は、正しい Azure クラウド環境用に構成されていることを確認してください。
ワークロード ID を使用するには、次のものが必要です:
-
AKSを使用して導入されるKubernetesクラスタ
-
AKS Kubernetesクラスタに設定されたワークロードIDとoidc-issuer
-
Tridentがインストールされ、 `cloudProvider`が `"Azure"`に設定され、 `cloudIdentity`がワークロードIDの値に設定されている
編集 `tridentorchestrator_cr.yaml`して `cloudProvider`を `"Azure"`に設定します。 `cloudIdentity`を `azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx`に設定します。
apiVersion: trident.netapp.io/v1
kind: TridentOrchestrator
metadata:
name: trident
spec:
debug: true
namespace: trident
imagePullPolicy: IfNotPresent
cloudProvider: "Azure"
cloudIdentity: 'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx' # Edit
次の環境変数を使用して、*クラウド プロバイダ(CP)*および*cloud-identity(CI)*フラグの値を設定します:
export CP="Azure"
export CI="'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'"
次の例では Trident をインストールし、 `cloudProvider`を `$CP`を使用して設定し、 `cloudIdentity`を `$CI`を使用して設定します:
helm install trident trident-operator-100.6.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
次の環境変数を使用して、*クラウド プロバイダ*および*cloud identity*フラグの値を設定します:
export CP="Azure"
export CI="azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx"
次の例では Trident をインストールし、 `cloud-provider`を `$CP`に、 `cloud-identity`を `$CI`に設定します:
tridentctl install --cloud-provider=$CP --cloud-identity="$CI" -n trident