Configurare Azure NetApp Files per il servizio Azure Kubernetes

Un volume permanente rappresenta una parte di risorsa di archiviazione di cui è stato eseguito il provisioning per l'uso con pod Kubernetes. Un volume permanente può essere usato da uno o più pod e se ne può eseguire il provisioning in modo statico o in modo dinamico. Questo articolo illustra come configurare Azure NetApp Files per l'uso da parte dei pod in un cluster del servizio Azure Kubernetes.

Azure NetApp Files è un servizio di archiviazione file a consumo di livello aziendale e a prestazioni elevate in esecuzione in Azure che supporta volumi che usano NFS (NFSv3 o NFSv4.1), SMB e doppio protocollo (NFSv3 e SMB o NFSv4.1 e SMB). Gli utenti di Kubernetes hanno due opzioni per l'uso dei volumi di Azure NetApp Files per i carichi di lavoro Kubernetes:

  • Creare volumi di Azure NetApp Files in modo statico. In questo scenario, la creazione di volumi è esterna al servizio Azure Kubernetes. I volumi vengono creati usando l'interfaccia della riga di comando di Azure o dal portale di Azure e quindi vengono esposti a Kubernetes tramite la creazione di un oggetto PersistentVolume. I volumi di Azure NetApp Files creati in modo statico presentano molte limitazioni (ad esempio l'impossibilità di espandersi, la necessità di eseguire il provisioning eccessivo e così via). I volumi creati in modo statico non sono consigliati per la maggior parte dei casi d'uso.
  • Creare volumi di Azure NetApp Files in modo dinamico, orchestrando tramite Kubernetes. Questo metodo è il modo migliore per creare più volumi direttamente tramite Kubernetes e viene ottenuto usando Astra Trident. Astra Trident è un agente di orchestrazione di archiviazione dinamica conforme a CSI che consente di effettuare il provisioning dei volumi in modo nativo tramite Kubernetes.

Nota

I volumi a doppio protocollo possono essere creati solo in modo statico. Per altre informazioni sull’uso di volumi a doppio protocollo con il servizio Azure Kubernetes, vedere Effettuare il provisioning di volumi a doppio protocollo di Azure NetApp Files per il servizio Azure Kubernetes.

L'uso di un driver CSI per usare direttamente i volumi di Azure NetApp Files dai carichi di lavoro del servizio Azure Kubernetes è la configurazione consigliata per la maggior parte dei casi d'uso. Questo requisito viene ottenuto usando Astra Trident, un agente di orchestrazione di archiviazione dinamica open source per Kubernetes. Astra Trident è un agente di orchestrazione di livello aziendale progettato per Kubernetes e completamente supportato da NetApp. Semplifica l'accesso all'archiviazione dai cluster Kubernetes automatizzando il provisioning dell'archiviazione.

È possibile sfruttare il driver CSI (Container Storage Interface) di Astra Trident per Azure NetApp Files per astrarre i dettagli sottostanti e creare, espandere ed eseguire snapshot dei volumi su richiesta. Inoltre, l'uso di Astra Trident consente di usare il servizio di controllo Astra basato su Astra Trident. Con il servizio di controllo Astra è possibile eseguire il backup, il ripristino, lo spostamento e la gestione del ciclo di vita dei dati dell'applicazione dei carichi di lavoro del servizio Azure Kubernetes tra cluster all'interno di un’area di Azure e tra più aree, per soddisfare le esigenze di continuità aziendale e del servizio.

Importante

Il software open source è citato nella documentazione e negli esempi di Azure Kubernetes. Il software distribuito viene escluso dai contratti di servizio del servizio Azure Kubernetes, dalla garanzia limitata e supporto tecnico di Azure. Quando si usa la tecnologia open source insieme al servizio Azure Kubernetes, consultare le opzioni di supporto disponibili dalle rispettive community e dai gestori di progetti per sviluppare un piano.

Ad esempio, il repository GitHub Ray descrive diverse piattaforme che variano in tempo di risposta, scopo e livello di supporto.

Microsoft si assume la responsabilità di creare i pacchetti open source distribuiti nel servizio Azure Kubernetes. Tale responsabilità include la proprietà completa del processo di compilazione, analisi, firma, convalida e hotfix, oltre al controllo sui file binari nelle immagini del contenitore. Per altre informazioni, vedere Gestione delle vulnerabilità per il servizio Azure Kubernetes e Copertura del supporto del servizio Azure Kubernetes.

Operazioni preliminari

Le considerazioni seguenti riguardano l'utilizzo di Azure NetApp Files:

  • Il cluster del servizio Azure Kubernetes deve trovarsi in un'area che supporta Azure NetApp Files.
  • Interfaccia della riga di comando di Azure versione 2.0.59 o superiore installata e configurata. Eseguire az --version per trovare la versione. Se è necessario eseguire l'installazione o l'aggiornamento, vedere Installare l'interfaccia della riga di comando di Azure.
  • Dopo la distribuzione iniziale di un cluster del servizio Azure Kubernetes, è possibile scegliere di effettuare il provisioning dei volumi di Azure NetApp Files in modo statico o dinamico.
  • Per usare il provisioning dinamico con Azure NetApp Files con NFS (Network File System), installare e configurare Astra Trident versione 19.07 o successiva. Per usare il provisioning dinamico con Azure NetApp Files con Secure Message Block (SMB), installare e configurare Astra Trident versione 22.10 o successiva. Il provisioning dinamico per le condivisioni SMB è supportato solo nei nodi di lavoro di Windows.
  • Prima di distribuire i volumi SMB di Azure NetApp Files, è necessario identificare i requisiti di integrazione di Active Directory Domain Services per Azure NetApp Files, per assicurarsi che Azure NetApp Files sia ben connesso ad Active Directory Domain Services. Per altre informazioni, vedere Informazioni sulle linee guida per la progettazione e la pianificazione del sito di Active Directory Domain Services. Sia il cluster del servizio Azure Kubernetes che Azure NetApp Files devono avere connettività allo stesso dominio dell'applicazione.

Configurare Azure NetApp Files per i carichi di lavoro del servizio Azure Kubernetes

Questa sezione descrive come configurare Azure NetApp Files per i carichi di lavoro del servizio Azure Kubernetes. È applicabile a tutti gli scenari all'interno di questo articolo.

  1. Definire le variabili per un uso successivo. Sostituire myresourcegroup, mylocation, myaccountname, mypool1, poolsize, premium, myvnet, myANFSubnet e myprefix con i valori appropriati per l'ambiente.

    RESOURCE_GROUP="myresourcegroup"
    LOCATION="mylocation"
    ANF_ACCOUNT_NAME="myaccountname"
    POOL_NAME="mypool1"
    SIZE="poolsize" # size in TiB
    SERVICE_LEVEL="Premium" # valid values are Standard, Premium and Ultra
    VNET_NAME="myvnet"
    SUBNET_NAME="myANFSubnet"
    ADDRESS_PREFIX="myprefix"
    
  2. Per registrare il provider di risorse Microsoft.NetApp, eseguire il comando seguente:

    az provider register --namespace Microsoft.NetApp --wait
    

    Nota

    Il completamento dell'operazione può richiedere alcuni minuti.

  3. Creare un nuovo account usando il comando az netappfiles account create. Quando si crea un account Azure NetApp da usare con il servizio Azure Kubernetes, è possibile creare l'account in un gruppo di risorse esistente o crearne uno nuovo nella stessa area del cluster del servizio Azure Kubernetes.

    az netappfiles account create \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --account-name $ANF_ACCOUNT_NAME
    
  4. Creare un nuovo pool di capacità usando il comando az netappfiles pool create. Sostituire le variabili visualizzate nel comando con le informazioni di Azure NetApp Files. account_name deve essere uguale a quello creato nel passaggio 3.

    az netappfiles pool create \
        --resource-group $RESOURCE_GROUP \
        --location $LOCATION \
        --account-name $ANF_ACCOUNT_NAME \
        --pool-name $POOL_NAME \
        --size $SIZE \
        --service-level $SERVICE_LEVEL
    
  5. Creare una subnet da delegare ad Azure NetApp Files usando il comando az network vnet subnet create. Specificare il gruppo di risorse che ospita la rete virtuale esistente per il cluster del servizio Azure Kubernetes. Sostituire le variabili visualizzate nel comando con le informazioni di Azure NetApp Files.

    Nota

    Questa subnet deve essere nella stessa rete virtuale del cluster servizio Azure Kubernetes.

    az network vnet subnet create \
        --resource-group $RESOURCE_GROUP \
        --vnet-name $VNET_NAME \
        --name $SUBNET_NAME \
        --delegations "Microsoft.Netapp/volumes" \
        --address-prefixes $ADDRESS_PREFIX
    

Effettuare il provisioning statico o dinamico dei volumi di Azure NetApp Files per NFS o SMB

Dopo aver configurato Azure NetApp Files per i carichi di lavoro del servizio Azure Kubernetes, è possibile eseguire il provisioning statico o dinamico di Azure NetApp Files usando volumi NFS, SMB o a doppio protocollo all'interno del pool di capacità. Seguire le istruzioni in:

Passaggi successivi

Astra Trident supporta molte funzionalità con Azure NetApp Files. Per altre informazioni, vedi: