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 Azure NetApp Files

Collaboratori netapp-aruldeepa

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

Prerequisiti per volumi NFS e SMB

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

Per configurare e utilizzare un "Azure NetApp Files" backend, è necessario quanto segue:

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

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

  • Un pool di capacità. Fare riferimento alla "Microsoft: Creare un pool di capacità per Azure NetApp Files".

  • Una subnet delegata a Azure NetApp Files. Fare riferimento alla "Microsoft: Delegare una subnet a Azure NetApp Files".

  • subscriptionID Da un abbonamento ad Azure con Azure NetApp Files attivato.

  • 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'applicazione deve utilizzare:

    • Il ruolo Proprietario o Contributore "Predefinito da Azure".

    • A "Ruolo di collaboratore personalizzato" al livello di sottoscrizione (assignableScopes) con le seguenti autorizzazioni che sono limitate solo a ciò che Trident richiede. Dopo aver creato il ruolo personalizzato, "Assegnare il ruolo utilizzando il portale Azure".

      Ruolo 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'Azure location che contiene almeno un "subnet delegata". A partire da Trident 22,01, il location parametro è un campo obbligatorio al livello superiore del file di configurazione backend. I valori di posizione specificati nei pool virtuali vengono ignorati.

  • Per utilizzare Cloud Identity, ottenere client ID da un "identità gestita assegnata dall'utente" e specificare tale 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 a Azure NetApp Files. Fare riferimento alla "Microsoft: Creazione e gestione delle connessioni Active Directory per Azure NetApp Files".

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

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

    kubectl create secret generic smbcreds --from-literal username=user --from-literal password='password'
  • 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.