Azure NetApp Files バックエンドを構成する
Azure NetApp Files を Trident のバックエンドとして使用します。このバックエンドは NFS および SMB ボリュームをサポートしています。Trident は Azure Kubernetes Service (AKS) クラスターのマネージド ID とワークロード ID をサポートします。
サポートされているAzureクラウド環境
Tridentは、複数のAzureクラウド環境でAzure NetApp Filesバックエンドをサポートしています。
サポートされている Azure クラウドは以下のとおりです:
-
Azure Commercial
-
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)があります。
| Driver | プロトコル | volumeMode | サポートされているアクセスモード | サポートされているファイルシステム |
|---|---|---|---|---|
|
NFS SMB |
Filesystem |
RWO、ROX、RWX、RWOP |
|
レビューに関する考慮事項
-
Azure NetApp Files は 50 GiB 未満のボリュームをサポートしていません。Trident は、より小さなボリュームが要求された場合でも、50 GiB のボリュームを作成します。
-
Trident は、 Windows ノード上で実行されているポッドにマウントされた SMB ボリュームのみをサポートします。
-
Azure NetApp Files を非商用 Azure クラウドにデプロイするには、クラウド固有の 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.2602.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`をワークロード識別値に設定してインストール済み
`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
以下の環境変数を使用して、cloud-provider (CP) および cloud-identity (CI) フラグの値を設定します。
export CP="Azure"
export CI="'azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx'"
次の例では、Tridentをインストールし、 `$CP`を使用して `cloudProvider`を設定し、 `$CI`を使用して `cloudIdentity`を設定します:
helm install trident trident-operator-100.6.0.tgz --set cloudProvider=$CP --set cloudIdentity="$CI"
クラウド プロバイダ および クラウド ID フラグの値を、以下の環境変数を使用して設定します:
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