Guida introduttiva: Prerequisiti per operatore e funzione di rete in contenitori (CNF)
Questa guida introduttiva contiene le attività dei prerequisiti per Operatore e Funzione di rete in contenitori (CNF). Anche se è possibile automatizzare queste attività all'interno di NSD (Network Service Definition), in questa guida introduttiva, le azioni vengono eseguite manualmente.
Nota
Il completamento delle attività presentate in questo articolo potrebbe richiedere tempo.
Autorizzazioni
È necessaria una sottoscrizione di Azure con un gruppo di risorse esistente con il ruolo Collaboratore e Amministratore accesso utenti.
In alternativa, l'estensione dell'interfaccia della riga di comando di AOSM può creare automaticamente il gruppo di risorse, nel qual caso è necessario il ruolo Collaboratore per questa sottoscrizione. Se si usa questa funzionalità, sarà necessario aggiungere all'utente il ruolo Amministratore accesso utenti con ambito di questo gruppo di risorse appena creato.
È necessario anche il ruolo Amministratore accesso utenti sul gruppo di risorse dell'editore di definizione della funzione di rete. Il gruppo di risorse dell'editore di definizione della funzione di rete è stato usato in Avvio rapido: Pubblicare un contenitore Nginx come funzione di rete in contenitori (CNF). Controllare il file input-cnf-nfd.jsonc per il nome del gruppo di risorse.
Impostare le variabili di ambiente
Adattare le impostazioni e i riferimenti delle variabili di ambiente in base alle esigenze per l'ambiente specifico. Ad esempio, in Windows PowerShell, è necessario impostare le variabili di ambiente come segue:
$env:ARC_RG="<my rg>"
Per usare una variabile di ambiente, è necessario farvi riferimento come $env:ARC_RG
.
export resourceGroup=operator-rg
export location=<region>
export clusterName=<replace with clustername>
export customlocationId=${clusterName}-custom-location
export extensionId=${clusterName}-extension
Finestra Crea gruppo di risorse
Creare un gruppo di risorse per ospitare il cluster del servizio Azure Kubernetes. Questa sarà anche la posizione in cui le risorse dell'operatore vengono create nelle guide successive.
az account set --subscription <subscription>
az group create -n ${resourceGroup} -l ${location}
Effettuare il provisioning del cluster del servizio Azure Kubernetes
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 3 --generate-ssh-keys
Abilitare Azure Arc
Abilitare Azure Arc per il cluster del servizio Azure Kubernetes. L'esecuzione dei comandi seguenti deve essere sufficiente. Per altre informazioni, vedere Creare e gestire percorsi personalizzati in Kubernetes abilitato per Azure Arc.
Recuperare il file di configurazione per il cluster del servizio Azure Kubernetes
az aks get-credentials --resource-group ${resourceGroup} --name ${clusterName}
Creare un cluster connesso
Creare il cluster:
az connectedk8s connect --name ${clusterName} --resource-group ${resourceGroup}
Registrare la sottoscrizione
Registrare la sottoscrizione al provider di risorse Microsoft.ExtendedLocation:
az provider register --namespace Microsoft.ExtendedLocation
Abilitare località personalizzate
Abilitare le posizioni personalizzate nel cluster:
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Connettere il cluster
Connettere il cluster:
az connectedk8s connect --name ${clusterName} -g ${resourceGroup} --location $location
Creare l'estensione
Creare un'estensione:
az k8s-extension create -g ${resourceGroup} --cluster-name ${clusterName} --cluster-type connectedClusters --name ${extensionId} --extension-type microsoft.azure.hybridnetwork --release-train preview --scope cluster
Crea una località personalizzata
Crea una località personalizzata:
export ConnectedClusterResourceId=$(az connectedk8s show --resource-group ${resourceGroup} --name ${clusterName} --query id -o tsv)
export ClusterExtensionResourceId=$(az k8s-extension show -c $clusterName -n $extensionId -t connectedClusters -g ${resourceGroup} --query id -o tsv)
az customlocation create -g ${resourceGroup} -n ${customlocationId} --namespace "azurehybridnetwork" --host-resource-id $ConnectedClusterResourceId --cluster-extension-ids $ClusterExtensionResourceId
Recuperare il valore della posizione personalizzata
Recuperare il valore percorso personalizzato. Queste informazioni sono necessarie per compilare i valori del gruppo di configurazione per il servizio di rete del sito.
Cercare il nome del percorso personalizzato (customLocationId) nel portale di Azure e quindi selezionare Proprietà. Individuare l'ID risorsa completo nell'area Informazioni di base e cercare l'ID del nome del campo. L'immagine seguente fornisce un esempio di posizione delle informazioni sull'ID risorsa.
Suggerimento
L'ID risorsa completo ha un formato: /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.extendedlocation/customlocations/{customLocationName}
Creare un'identità gestita assegnata dall'utente per il servizio di rete del sito
Salvare lo script Bicep seguente localmente come prerequisiti.bicep.
param location string = resourceGroup().location param identityName string = 'identity-for-nginx-sns' resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = { name: identityName location: location } output managedIdentityId string = managedIdentity.id
Avviare la distribuzione dell'identità gestita assegnata dall'utente eseguendo il comando seguente.
az deployment group create --name prerequisites --resource-group ${resourceGroup} --template-file prerequisites.bicep
Lo script crea un'identità gestita.
Recuperare l'ID risorsa per l'identità gestita
Eseguire il comando seguente per trovare l'ID risorsa dell'identità gestita creata.
az deployment group list -g ${resourceGroup} | jq -r --arg Deployment prerequisites '.[] | select(.name == $Deployment).properties.outputs.managedIdentityId.value'
Copiare e salvare l'output, ovvero l'identità della risorsa. Questo output è necessario quando si crea il servizio di rete del sito.
Aggiornare le autorizzazioni del servizio di rete del sito
Per eseguire queste attività, è necessario il ruolo "Proprietario" o "Amministratore accesso utenti" sia nell'operatore che nei gruppi di risorse di Network Function Definition Publisher (editore della definizione di funzione di rete.). Il gruppo di risorse dell'operatore è stato creato nelle attività precedenti. Il gruppo di risorse dell'editore della definizione di funzione di rete è stato creato in Avvio rapido: Pubblicare un contenitore Nginx come funzione di rete in contenitori (CNF) e denominato nginx-publisher-rg nel file input.json.
Nei passaggi precedenti è stata creata un'identità gestita con etichetta identity-for-nginx-sns all'interno del gruppo di risorse di riferimento. Questa identità svolge un ruolo fondamentale nella distribuzione del servizio di rete del sito (SNS). Seguire i passaggi nelle sezioni successive per concedere all'identità il ruolo "Collaboratore" sul gruppo di risorse del server di pubblicazione e sul ruolo Operatore identità gestita su se stesso. Tramite questa identità, il servizio di rete del sito (SNS) ottiene le autorizzazioni necessarie.
Concedere il ruolo collaboratore al gruppo di risorse del server di pubblicazione all'identità gestita
Accedere al portale di Azure e aprire il gruppo di risorse del server di pubblicazione creato durante la pubblicazione della definizione della funzione di rete.
Nel menu laterale del gruppo di risorse selezionare Controllo di accesso (IAM).
Scegliere Aggiungi assegnazione di ruolo.
Nei ruoli di amministratore con privilegi, selezionare collaboratore e quindi procedere con Avanti.
Selezionare Identità gestita.
Scegliere + Seleziona membri, quindi trovare e scegliere l'identità gestita assegnata dall'utente identity-for-nginx-sns.
Concedere il ruolo collaboratore alla posizione personalizzata all'identità gestita
Accedere al portale di Azure e aprire il gruppo di risorse operatore operator-rg.
Nel menu laterale del gruppo di risorse selezionare Controllo di accesso (IAM).
Scegliere Aggiungi assegnazione di ruolo.
Nei ruoli di amministratore con privilegi, selezionare collaboratore e quindi procedere con Avanti.
Selezionare Identità gestita.
Scegliere + Seleziona membri, quindi trovare e scegliere l'identità gestita assegnata dall'utente identity-for-nginx-sns.
Concedere il ruolo Operatore identità gestita a se stesso
Passare al portale di Azure e cercare Identità gestite.
Selezionare identity-for-nginx-sns dall'elenco delle identità gestite.
Nel menu a sinistra selezionare Controllo di accesso (IAM).
Scegliere Aggiungi assegnazione di ruolo.
Selezionare il ruolo Operatore identità gestita e quindi procedere con Avanti.
Selezionare Identità gestita.
Selezionare + Seleziona membri e passare all'identità gestita assegnata dall'utente denominata identity-for-nginx-sns e procedere con l'assegnazione.
Selezionare Rivedi e assegna.
Il completamento di tutte le attività descritte in questi articoli garantisce che il servizio di rete del sito disponga delle autorizzazioni necessarie per funzionare in modo efficace all'interno dell'ambiente Azure specificato.