Guida introduttiva: Prerequisiti per operatore e funzione di rete in contenitori (CNF)
Questa guida introduttiva contiene le attività dei prerequisiti per Operator e Containerized Network Function (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
Per completare questi prerequisiti per Operatore e Funzione di rete in contenitori, è necessaria una sottoscrizione di Azure in cui si ha il ruolo Collaboratore (per creare un gruppo di risorse) ed è necessario essere in grado di ottenere il ruolo Proprietario o Accesso utenti Amministrazione istrator su questo gruppo di risorse. In alternativa, è necessario un gruppo di risorse esistente in cui si dispone del ruolo "Proprietario" o "Accesso utente Amministrazione istrator".
È necessario anche il ruolo Proprietario o Accesso utente Amministrazione istrator nel gruppo di risorse network Function Definition Publisher. Il gruppo di risorse network function definition publisher è 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.
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 servizio Azure Kubernetes (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 servizio Azure Kubernetes del servizio Azure Kubernetes
Nota
Assicurarsi che agentCount
sia impostato su 1. Al momento è necessario un solo nodo.
az aks create -g ${resourceGroup} -n ${clusterName} --node-count 1 --generate-ssh-keys
Abilitare Azure Arc
Abilitare Azure Arc per il cluster servizio Azure Kubernetes (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 percorsi personalizzati
Abilitare percorsi personalizzati nel cluster:
az connectedk8s enable-features -n ${clusterName} -g ${resourceGroup} --features cluster-connect custom-locations
Connettere il cluster
Connessione 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
Creare un percorso personalizzato
Creare un percorso personalizzato:
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 "Accesso utente Amministrazione istrator" sia nell'operatore che nei gruppi di risorse di Network Function Definition Publisher. Il gruppo di risorse dell'operatore è stato creato nelle attività precedenti. Il gruppo di risorse network function definition publisher è 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-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-for-nginx-sns.
Concedere il ruolo Operatore identità gestita a se stesso
Passare alla portale di Azure e cercare Identità gestite.
Selezionare identity-for-nginx-sns dall'elenco delle identità gestite.
Nel menu laterale 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.