Cloud Volumes ONTAP per Azure - burst nel cloud
Questo articolo supporta la soluzione NetApp Cloud Volumes ONTAP per Azure Automation, disponibile per i clienti NetApp dall'hub di automazione NetApp Console .
La soluzione di automazione Cloud Volumes ONTAP per Azure automatizza l'implementazione containerizzata di Cloud Volumes ONTAP per Azure utilizzando Terraform, consentendoti di implementare Cloud Volumes ONTAP per Azure rapidamente, senza interventi manuali.
-
Devi scaricare il "Cloud Volumes ONTAP, Azure - burst nel cloud" soluzione di automazione tramite l'interfaccia utente web della console. La soluzione è confezionata come
CVO-Azure-Burst-To-Cloud.zip. -
È necessario installare una macchina virtuale Linux sulla stessa rete di Cloud Volumes ONTAP.
-
Dopo aver installato la VM Linux, è necessario seguire la procedura descritta in questa soluzione per installare le dipendenze richieste.
Fase 1: Installare Docker e Docker Compose
Installare Docker
I seguenti passaggi usano il software di distribuzione Linux Ubuntu 20,04 Debian come esempio. I comandi eseguiti dipendono dal software di distribuzione Linux utilizzato. Consultare la documentazione specifica del software di distribuzione Linux per la configurazione in uso.
-
Installare Docker eseguendo i seguenti
sudocomandi:sudo apt-get update sudo apt-get install apt-transport-https cacertificates curl gnupg-agent software-properties-common curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - sudo add-apt-repository “deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable” sudo apt-get update sudo apt-get install dockerce docker-ce-cli containerd.io -
Verificare l'installazione:
docker –version -
Verificare che sul sistema Linux sia stato creato un gruppo denominato "docker". Se necessario, creare il gruppo:
sudo groupadd docker -
Aggiungere al gruppo l'utente che deve accedere a Docker:
sudo usermod -aG docker $(whoami) -
Le modifiche vengono applicate dopo la disconnessione e la riconnessione al terminale. In alternativa, è possibile applicare immediatamente le modifiche:
newgrp docker
Installazione di Docker Compose
-
Installare Docker Compose eseguendo i seguenti
sudocomandi:sudo curl -L “https://github.com/docker/compose/releases/download/1.29.2/dockercompose-(𝑢𝑛𝑎𝑚𝑒 − 𝑠)−(uname -m)” -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose -
Verificare l'installazione:
docker-compose –version
Fase 2: Preparare l'immagine Docker
-
Copiare la
CVO-Azure-Burst-To-Cloud.zipcartella nella VM Linux che si desidera utilizzare per distribuire Cloud Volumes ONTAP:scp -i ~/<private-key>.pem -r CVO-Azure-Burst-To-Cloud.zip <azureuser>@<IP_ADDRESS_OF_VM>:<LOCATION_TO_BE_COPIED>-
private-key.pemè il file della chiave privata per l'accesso senza password. -
azureuserÈ il nome utente VM. -
IP_ADDRESS_OF_VMÈ l'indirizzo IP della macchina virtuale. -
LOCATION_TO_BE_COPIEDè la posizione in cui verrà copiata la cartella.
-
-
Estrarre la
CVO-Azure-Burst-To-Cloud.zipcartella. È possibile estrarre la cartella nella directory corrente o in un percorso personalizzato.Per estrarre la cartella nella directory corrente, eseguire:
unzip CVO-Azure-Burst-To-Cloud.zipPer estrarre la cartella in una posizione personalizzata, eseguire:
unzip CVO-Azure-Burst-To-Cloud.zip -d ~/<your_folder_name> -
Dopo aver estratto il contenuto, accedere alla
CVO_Azure_Deploymentcartella ed eseguire il comando seguente per visualizzare i file:ls -laViene visualizzato un elenco di file, simile al seguente esempio:
drwxr-xr-x@ 11 user1 staff 352 May 5 13:56 . drwxr-xr-x@ 5 user1 staff 160 May 5 14:24 .. -rw-r--r--@ 1 user1 staff 324 May 5 13:18 .env -rw-r--r--@ 1 user1 staff 1449 May 5 13:18 Dockerfile -rw-r--r--@ 1 user1 staff 35149 May 5 13:18 LICENSE -rw-r--r--@ 1 user1 staff 13356 May 5 14:26 README.md -rw-r--r-- 1 user1 staff 354318151 May 5 13:51 cvo_azure_flexcache_ubuntu_image_latest drwxr-xr-x@ 4 user1 staff 128 May 5 13:18 cvo_azure_variables -rw-r--r--@ 1 user1 staff 996 May 5 13:18 docker-compose-deploy.yml -rw-r--r--@ 1 user1 staff 1041 May 5 13:18 docker-compose-destroy.yml -rw-r--r--@ 1 user1 staff 4771 May 5 13:18 sp_role.json
-
Individuare il
cvo_azure_flexcache_ubuntu_image_latest.tar.gzfile. Contenente l'immagine di Docker necessaria per implementare Cloud Volumes ONTAP per Azure. -
Estrarre il file:
docker load -i cvo_azure_flexcache_ubuntu_image_latest.tar.gz -
Attendere alcuni minuti per il caricamento dell'immagine Docker, quindi convalidare il caricamento corretto dell'immagine Docker:
docker imagesViene visualizzata un'immagine di Docker con il
latestnome delcvo_azure_flexcache_ubuntu_image_latesttag, come illustrato nell'esempio seguente:REPOSITORY TAG IMAGE ID CREATED SIZE cvo_azure_flexcache_ubuntu_image latest 18db15a4d59c 2 weeks ago 1.14GB
Passaggio 3: Creare file di variabili d'ambiente
In questa fase è necessario creare due file di variabili di ambiente. Un file è destinato all'autenticazione delle API di Azure Resource Manager tramite credenziali dell'entità servizio. Il secondo file serve per impostare le variabili di ambiente per consentire ai moduli Terraform della console di individuare e autenticare le API di Azure.
-
Creare un'identità di servizio.
Prima di poter creare i file delle variabili di ambiente, è necessario creare un'entità di servizio seguendo la procedura descritta in "Creare un'applicazione e un'entità di servizio di Azure Active Directory in grado di accedere alle risorse".
-
Assegnare il ruolo Contributor all'entità del servizio appena creata.
-
Creare un ruolo personalizzato.
-
Individuare il
sp_role.jsonfile e verificare le autorizzazioni richieste nelle azioni elencate. -
Inserire queste autorizzazioni e associare il ruolo personalizzato all'entità di servizio appena creata.
-
-
Accedere a certificati e segreti e selezionare nuovo segreto client per creare il segreto client.
Quando si crea il segreto client, è necessario registrare i dettagli dalla colonna valore perché non sarà possibile visualizzare nuovamente questo valore. È inoltre necessario registrare le seguenti informazioni:
-
ID client
-
ID abbonamento
-
ID tenant
Queste informazioni sono necessarie per creare le variabili di ambiente. È possibile trovare informazioni sull'ID del client e sull'ID del tenant nella sezione Panoramica dell'interfaccia utente principale del servizio.
-
-
Creare i file di ambiente.
-
Creare il
azureauth.envfile nella seguente posizione:path/to/env-file/azureauth.env-
Aggiungere il seguente contenuto al file:
ClientID=<> clientSecret=<> subscriptionId=<> tenantId=<>
Il formato deve essere esattamente come mostrato sopra senza spazi tra la chiave e il valore.
-
-
Creare il
credentials.envfile nella seguente posizione:path/to/env-file/credentials.env-
Aggiungere il seguente contenuto al file:
AZURE_TENANT_ID=<> AZURE_CLIENT_SECRET=<> AZURE_CLIENT_ID=<> AZURE_SUBSCRIPTION_ID=<>
-
Il formato deve essere esattamente come mostrato sopra senza spazi tra la chiave e il valore.
-
-
Aggiungere i percorsi assoluti dei file al
.envfile.Immettere il percorso assoluto del
azureauth.envfile di ambiente nel.envfile che corrisponde allaAZURE_RM_CREDSvariabile di ambiente.AZURE_RM_CREDS=path/to/env-file/azureauth.envImmettere il percorso assoluto del
credentials.envfile di ambiente nel.envfile che corrisponde allaBLUEXP_TF_AZURE_CREDSvariabile di ambiente.BLUEXP_TF_AZURE_CREDS=path/to/env-file/credentials.env
Passaggio 4: iscriviti a NetApp Intelligent Services
Iscriviti a NetApp Intelligent Services tramite il tuo provider cloud per pagare a ore (PAYGO) o tramite un contratto annuale. I servizi intelligenti NetApp includono NetApp Backup and Recovery, Cloud Volumes ONTAP, NetApp Cloud Tiering, NetApp Ransomware Resilience e NetApp Disaster Recovery. NetApp Data Classification è incluso nel tuo abbonamento senza costi aggiuntivi
-
Dal portale di Azure, vai su SaaS e seleziona Iscriviti a NetApp Intelligent Services.
-
Selezionare il piano Cloud Manager (di Cap PYGO per ora, WORM e servizi dati).
È possibile utilizzare lo stesso gruppo di risorse di Cloud Volumes ONTAP o un gruppo di risorse diverso.
-
Configurare il portale della Console per importare l'abbonamento SaaS nella Console.
È possibile configurare questa configurazione direttamente dal portale Azure accedendo a Dettagli prodotto e piano e selezionando l'opzione Configura account ora.
Verrai quindi reindirizzato al portale della Console per confermare la configurazione.
-
Confermare la configurazione nel portale della Console selezionando Salva.
Passaggio 5: Creare un volume esterno
È necessario creare un volume esterno per mantenere persistenti i file di stato di Terraform e altri file importanti. È necessario assicurarsi che i file siano disponibili affinché Terraform esegua il flusso di lavoro e le implementazioni.
-
Creare un volume esterno all'esterno di Docker Compose:
docker volume create « volume_name »Esempio:
docker volume create cvo_azure_volume_dst
-
Utilizzare una delle seguenti opzioni:
-
Aggiungere un percorso di volume esterno al
.envfile di ambiente.È necessario seguire il formato esatto mostrato di seguito.
Formato:
PERSISTENT_VOL=path/to/external/volume:/cvo_azureEsempio:
PERSISTENT_VOL=cvo_azure_volume_dst:/cvo_azure -
Aggiunta di condivisioni NFS come volume esterno.
Assicurati che il container di Docker possa comunicare con le condivisioni NFS e che siano configurate le autorizzazioni corrette, come la lettura/scrittura.
-
Aggiungi il percorso NFS share come percorso del volume esterno nel file Docker Compose, come illustrato sotto: Format:
PERSISTENT_VOL=path/to/nfs/volume:/cvo_azure
-
Esempio:
PERSISTENT_VOL=nfs/mnt/document:/cvo_azure -
-
Accedere alla
cvo_azure_variablescartella.Nella cartella dovrebbero essere visualizzati i seguenti file variabili:
terraform.tfvarsvariables.tf -
Modificare i valori all'interno del
terraform.tfvarsfile in base alle proprie esigenze.È necessario leggere la documentazione di supporto specifica quando si modifica uno dei valori delle variabili nel
terraform.tfvarsfile. I valori possono variare in base a regione, zone di disponibilità e altri fattori supportati da Cloud Volumes ONTAP per Azure. Ciò comprende licenze, dimensioni del disco e dimensioni delle macchine virtuali per nodi singoli e coppie ha.Tutte le variabili di supporto per l'agente Console e i moduli Terraform Cloud Volumes ONTAP sono già definite in
variables.tffile. È necessario fare riferimento ai nomi delle variabili invariables.tffile prima di aggiungerlo alterraform.tfvarsfile. -
A seconda delle proprie esigenze, è possibile attivare o disattivare FlexCache e FlexClone impostando le seguenti opzioni su
trueofalse.I seguenti esempi abilitano FlexCache e FlexClone:
-
is_flexcache_required = true -
is_flexclone_required = true
-
-
Se necessario, è possibile recuperare il valore della variabile Terraform
az_service_principal_object_iddal servizio Active Directory di Azure:-
Accedere a applicazioni aziendali –> tutte le applicazioni e selezionare il nome del Service Principal creato in precedenza.
-
Copiare l'ID oggetto e inserire il valore per la variabile Terraform:
az_service_principal_object_id
-
Fase 6: Implementare Cloud Volumes ONTAP per Azure
Per implementare Cloud Volumes ONTAP per Azure, procedere come segue.
-
Dalla cartella principale, eseguire il comando seguente per attivare la distribuzione:
docker-compose up -dVengono attivati due container, il primo implementa Cloud Volumes ONTAP e il secondo invia dati telemetrici a AutoSupport.
Il secondo contenitore attende fino a quando il primo non completa correttamente tutte le fasi.
-
Monitorare l'avanzamento del processo di distribuzione utilizzando i file di registro:
docker-compose logs -fQuesto comando fornisce l'output in tempo reale e acquisisce i dati nei seguenti file di registro:
deployment.logtelemetry_asup.logÈ possibile modificare il nome di questi file di registro modificando il
.envfile utilizzando le seguenti variabili di ambiente:DEPLOYMENT_LOGSTELEMETRY_ASUP_LOGSGli esempi seguenti mostrano come modificare i nomi dei file di registro:
DEPLOYMENT_LOGS=<your_deployment_log_filename>.logTELEMETRY_ASUP_LOGS=<your_telemetry_asup_log_filename>.log
Per rimuovere l'ambiente temporaneo e ripulire gli elementi creati durante il processo di distribuzione, è possibile attenersi alla seguente procedura.
-
Se FlexCache è stato distribuito, impostare l'opzione seguente nel
terraform.tfvarsfile, in questo modo si puliscono i volumi FlexCache e si rimuove l'ambiente temporaneo creato in precedenza.flexcache_operation = "destroy"Le opzioni possibili sono deployedestroy. -
Se FlexClone è stato distribuito, impostare l'opzione seguente nel
terraform.tfvarsfile, in questo modo si puliscono i volumi FlexClone e si rimuove l'ambiente temporaneo creato in precedenza.flexclone_operation = "destroy"Le opzioni possibili sono deployedestroy.