Skip to main content
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Prepararsi a configurare un backend di Azure NetApp Files

Collaboratori netapp-aruldeepa

Prima di poter configurare il backend di Azure NetApp Files , è necessario assicurarsi che siano soddisfatti i seguenti requisiti.

Prerequisiti per i volumi NFS e SMB

Se si utilizza Azure NetApp Files per la prima volta o in una nuova posizione, è necessaria una configurazione iniziale per impostare Azure NetApp Files e creare un volume NFS. Fare riferimento a "Azure: configura Azure NetApp Files e crea un volume NFS" .

Per configurare e utilizzare un "Azure NetApp Files" backend, hai bisogno di quanto segue:

Nota
  • subscriptionID, tenantID , clientID , location , E clientSecret sono facoltativi quando si utilizzano identità gestite su un cluster AKS.

  • tenantID, clientID , E clientSecret sono facoltativi quando si utilizza un'identità cloud su un cluster AKS.

  • Un bacino di capacità. Fare riferimento a"Microsoft: creare un pool di capacità per Azure NetApp Files" .

  • Una subnet delegata ad Azure NetApp Files. Fare riferimento a"Microsoft: delegare una subnet ad Azure NetApp Files" .

  • `subscriptionID`da una sottoscrizione Azure con Azure NetApp Files abilitato.

  • tenantID, clientID , E clientSecret da un"Registrazione dell'app" in Azure Active Directory con autorizzazioni sufficienti per il servizio Azure NetApp Files . La registrazione dell'app deve utilizzare:

    • Il ruolo di Proprietario o Collaboratore"predefinito da Azure" .

    • UN"ruolo di collaboratore personalizzato" a livello di abbonamento(assignableScopes ) con le seguenti autorizzazioni limitate solo a quanto richiesto Trident . Dopo aver creato il ruolo personalizzato,"assegnare il ruolo utilizzando il portale di Azure" .

      Ruolo di collaboratore personalizzato
      {
        "id": "/subscriptions/<subscription-id>/providers/Microsoft.Authorization/roleDefinitions/<role-definition-id>",
        "properties": {
          "roleName": "custom-role-with-limited-perms",
          "description": "custom role providing limited permissions",
          "assignableScopes": [
            "/subscriptions/<subscription-id>"
          ],
          "permissions": [
            {
              "actions": [
                "Microsoft.NetApp/netAppAccounts/capacityPools/read",
                "Microsoft.NetApp/netAppAccounts/capacityPools/write",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/read",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/write",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/delete",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/read",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/write",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/snapshots/delete",
                "Microsoft.NetApp/netAppAccounts/capacityPools/volumes/MountTargets/read",
                "Microsoft.Network/virtualNetworks/read",
                "Microsoft.Network/virtualNetworks/subnets/read",
                "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations/read",
                "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations/write",
                "Microsoft.Features/featureProviders/subscriptionFeatureRegistrations/delete",
                "Microsoft.Features/features/read",
                "Microsoft.Features/operations/read",
                "Microsoft.Features/providers/features/read",
                "Microsoft.Features/providers/features/register/action",
                "Microsoft.Features/providers/features/unregister/action",
                "Microsoft.Features/subscriptionFeatureRegistrations/read"
              ],
              "notActions": [],
              "dataActions": [],
              "notDataActions": []
            }
          ]
        }
      }
  • L'azzurro location che contiene almeno uno "sottorete delegata" . A partire dal Trident 22.01, il location Il parametro è un campo obbligatorio al livello superiore del file di configurazione del backend. I valori di posizione specificati nei pool virtuali vengono ignorati.

  • Per usare Cloud Identity , ottenere il client ID da un "identità gestita assegnata dall'utente" e specificare quell'ID in azure.workload.identity/client-id: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx .

Requisiti aggiuntivi per i volumi SMB

Per creare un volume SMB, è necessario disporre di:

  • Active Directory configurato e connesso ad Azure NetApp Files. Fare riferimento a"Microsoft: creare e gestire connessioni Active Directory per Azure NetApp Files" .

  • Un cluster Kubernetes con un nodo controller Linux e almeno un nodo worker Windows che esegue Windows Server 2022. Trident supporta volumi SMB montati su pod in esecuzione solo su nodi Windows.

  • Almeno un segreto Trident contenente le credenziali di Active Directory, in modo che Azure NetApp Files possa autenticarsi in Active Directory. Per generare segreto smbcreds :

    kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password'
  • Un proxy CSI configurato come servizio Windows. Per configurare un csi-proxy , fare riferimento a"GitHub: Proxy CSI" O"GitHub: Proxy CSI per Windows" per i nodi Kubernetes in esecuzione su Windows.