次の方法で共有


Azure Red Hat OpenShift で OpenShift 仮想化用に Azure NetApp Files を構成する (プレビュー)

Azure NetApp Files は、エンタープライズ クラスでハイパフォーマンスの従量制課金ファイル ストレージ サービスです。 コードを変更せずにデータベースやハイ パフォーマンス コンピューティング アプリケーションなど、クラウドで最も要求の厳しいエンタープライズ ファイル ワークロードをサポートします。

Azure NetApp Files では、Trident CSI ドライバーを使用した Azure Red Hat OpenShift での OpenShift 仮想化がサポートされています。 認定済みの Trident オペレーターは、ストレージ リソースの消費と管理を可能にし、OperatorHub から Azure Red Hat OpenShift にデプロイできます。 これにより、Azure Red Hat OpenShift クラスターは、仮想マシン (VM) ディスクの永続ボリュームとして Azure NetApp Files ボリュームを自動的に作成できます。 Azure NetApp Files では、OpenShift Virtualization の高速 VM プロビジョニング、インスタント 複製、ライブ マイグレーションが提供されます。

新しい VM が Azure Red Hat OpenShift にデプロイされると、Trident は AZURE NetApp Files に NFS ボリュームを自動的にプロビジョニングして VM のディスクを格納し、選択した Azure NetApp Files サービス レベル (Standard、Premium、Ultra、またはフレキシブル) の容量とパフォーマンスを調整します。 複数の OpenShift ノードが同じボリュームに同時にアクセスできるため、ディスク アクセスを中断することなくシームレスな VM 移行が可能になります。

[前提条件]

  • バージョン 4.18 以降を実行している Microsoft Azure Red Hat OpenShift クラスター

    特に 4.17.x より前のバージョンを実行している場合は、 アップグレード ガイダンスを確認してください。

  • OpenShift Virtualization for Azure Red Hat OpenShift。OperatorHub または OpenShift コンソールにデプロイできます

  • NetApp Trident バージョン 25.6.2 以降 手順に従って、Red Hat OpenShift OperatorHub から Trident オペレーターをデプロイし、Trident オーケストレーターを OpenShift クラスターにデプロイします。 このページの例では、Trident オーケストレーターが OpenShift クラスターの trident 名前空間にデプロイされていることを前提としています。

  • フレキシブル、Premium、Standard、または Ultra サービス レベルを使用する、少なくとも 1 つの容量プールを持つ Azure NetApp Files。

    Azure NetApp Files を初めて使用する場合は、 クイック スタート ガイドを参照してください。

    このページの例では、Azure Red Hat OpenShift によって使用される仮想ネットワークに、Azure NetApp Files の委任されたサブネットであるフレキシブル サービス レベルの容量プールが 1 つ存在することを前提としています。 柔軟なサービス レベルは、個々の VM ディスクを含む個々の Azure NetApp Files ボリュームの容量とスループットを制御するために推奨されます。

    VM ディスクの容量プールに十分な容量とスループットがあることを確認します。 詳細については、 Azure NetApp Files サービス レベルAzure NetApp Files パフォーマンス計算ツールに関するページを参照してください

Architecture

このページでは、OpenShift Virtualization 用の Azure NetApp Files のセットアップと、Trident とその仮想ストレージ プールの構成手順、および図に示すように、対応する Kubernetes ストレージ クラスについて詳しく説明します。 1 つのスループット設定を持つ 1 つの基本ストレージ クラスと、スループット特性が異なる 3 つのストレージ クラスの例を示します。

Azure Red Hat OpenShift クラスターと Azure リソースのソフトウェア コンポーネントと構成を示す図。

開始する前に

この構成プロセスでは、Trident によって使用されるサービス プリンシパルに組み込みの共同作成者ロールが使用されます。 既定の共同作成者ロールを使用しない場合は、Trident に必要な特権のみを付与する カスタム ロールを作成できます

Azure NetApp Files の Trident の構成

  1. Azure NetApp Files リソース (NetApp アカウント) を含むリソース グループのサービス プリンシパルを作成します。

    az ad sp create-for-rbac --name trident --role Contributor --scopes /subscriptions/<Subscription_ID>/resourceGroups/<Resource_Group>
    

    このコマンドは、 appIdpasswordを出力します。 これらの出力を書き留めます。これらは、Trident サービス プリンシパルのシークレットを作成するために、次の手順で必要になります。

    {
      "appId": "<appID>",
      "displayName": "trident",
      "password": "<password>",
      "tenant": "<tenant>"
    }
    
  2. OpenShift コンソールで、Trident サービス プリンシパルの資格情報を使用してシークレットを作成し、Azure NetApp Files リソースを管理します。

    oc create secret generic anf-credentials --from-literal=clientID=<appID> --from-literal=clientSecret=<password> -n trident
    
  3. Trident 用に Azure NetApp Files バックエンドを構成します。 OpenShift コンソールを使用して YAML をインポートします。

    1. OpenShift Web コンソールにログインします。
    2. マストヘッドの + アイコンを選択し、 YAML をインポートします
    3. YAML をエディターに直接貼り付けるか、ファイルを作成し、[アップロード] ボタンを使用して アップロード します。

    この構成例では、Trident バックエンドで 1 つの仮想記憶域プールを確立し、後で 1 StorageClass 使用します。 仮想記憶域プールでは、作成されたすべてのボリュームに対して 60 MB/秒が割り当てられた手動 QoS を備えたフレキシブル サービス レベルの容量プールが使用されます。

    apiVersion: trident.netapp.io/v1
    kind: TridentBackendConfig
    metadata:
      name: <ANF_TridentBackendConfig_name>
      namespace: trident
    spec:
      version: 1
      storageDriverName: azure-netapp-files
      credentials:
          name: anf-credentials
      subscriptionID: <Subscription_ID>
      tenantID: <Tenant_ID>
      location: <region>
      networkFeatures: Standard
      virtualNetwork: <Resource_Group/Virtual_Network_used_by_ARO>
      subnet: <Resource_Group/Virtual_Network_used_by_ARO/Delegate_subnet_for_ANF>
      nfsMountOptions: nfsvers=3,nconnect=4
      defaults:
        unixPermissions: "0777"
        maxThroughput: "60"
        qosType: "Manual"
      labels:
        qos: manual60mbps
    
  4. Trident の Azure NetApp Files バックエンド構成を確認します。

    1. OpenShift コンソールにログインします。

    2. サイドバーで[ ホーム ]、[ 検索]の順に選択します。

    3. TridentBackendConfig リソースを選択します。

    4. [ リソース ] ドロップダウンから、 TridentBackendConfig を選択します。

    5. [ プロジェクト ]ドロップダウンから、[ すべてのプロジェクト]を選択します。

    6. TridentBackendConfig の一覧から TridentBackendConfig_nameを選択します。

    7. YAML を選択 します

    8. 次の TridentBackendConfig 設定を確認します。

    status:
        backendInfo:
        backendName: <TridentBackendConfig_name>
        backendUUID: <TridentBackendConfig_ID>
        deletionPolicy: delete
        lastOperationStatus: Success
        message: Backend '<TridentBackendConfig_name>' updated
        phase: Bound
    
  5. Azure NetApp Files を使用するようにストレージ クラスを構成します。

    1. マストヘッドの + アイコンを選択し、 YAML をインポートします
    2. YAML をエディターに直接貼り付けるか、ファイルを作成し、[アップロード] ボタンを使用して アップロード します。

    このストレージ クラスは、 qos ラベルに基づいて Trident バックエンド内の 1 つの仮想記憶域プールを使用します。

    apiVersion: storage.k8s.io/v1
    kind: StorageClass
    metadata:
      name: <ANF_StorageClass_name>
    provisioner: csi.trident.netapp.io
    parameters:
      backendType: "azure-netapp-files"
      selector: qos=manual60mbps
    reclaimPolicy: Delete
    allowVolumeExpansion: true
    
  6. Azure NetApp Files のボリューム スナップショット クラスを構成します。 マストヘッドの + アイコンを選択し、 YAML をインポートします

    YAML をエディターに直接貼り付けるか、ファイルを作成し、[アップロード] ボタンを使用して アップロード します。

    apiVersion: snapshot.storage.k8s.io/v1
    kind: VolumeSnapshotClass
    metadata:
      name: <ANF_VolumeSnapshotClass_name>
    driver: csi.trident.netapp.io
    deletionPolicy: Delete
    
  7. OpenShift コンソールで、Azure NetApp Files ベースのストレージ クラスのストレージ プロファイルを変更して、 ReadWriteMany (RWX) が既定になるようにします。 この変更により、これらのストレージ クラス内の VM ディスクを使用する VM がライブ マイグレーションを使用できるようになります。

    # Linux:
    oc patch storageprofile <ANF_StorageClass_name> --type='json' -p='[{"op": "replace", "path": "/spec/claimPropertySets", "value": [{"accessModes": ["ReadWriteMany"], "volumeMode": "Filesystem"}]}]'
    
  8. AzureNetAppFiles_StorageClass_nameを既定値として設定します。

    1. OpenShift コンソールのサイドバーで、[ストレージ]、[ストレージ クラス] の順に選択します。
    2. AzureNetAppFiles_StorageClass_nameの [アクション] メニュー ⋮を選択し、[既定値として設定] を選択します

次のステップ

他の関連リソース