Configurazione e script aggiuntivi per Azure Kubernetes Edge Essentials
Questo articolo offre modi alternativi per connettersi ad Azure Arc, che può essere applicabile ai cluster connessi tramite un proxy.
Connettere un cluster Azure Kubernetes Edge Essentials ad Arc usando un proxy
Prerequisiti
- Una sottoscrizione di Azure con il ruolo Proprietario o una combinazione di ruoli Collaboratore e Amministratore accesso utenti. È possibile controllare il livello di accesso passando alla sottoscrizione, selezionando Controllo di accesso (IAM) sul lato sinistro del portale di Azure e quindi selezionando Visualizza l'accesso. Per altre informazioni sulla gestione dei gruppi di risorse, vedere la documentazione di Azure Resource Manager.
- Abilitare tutti i provider di risorse necessari nella sottoscrizione di Azure, ad esempio Microsoft.HybridCompute, Microsoft.GuestConfiguration, Microsoft.HybridConnectivity, Microsoft.Kubernetes e Microsoft.KubernetesConfiguration.
- Creare e verificare un gruppo di risorse per le risorse di Azure AKS Edge Essentials.
Nota
È necessario avere il ruolo Collaboratore per poter eliminare le risorse all'interno del gruppo di risorse. I comandi da disconnettere da Arc avranno esito negativo senza questa assegnazione di ruolo.
Passaggio 1: Configurare il cluster per la connettività di Azure
Scaricare il repository GitHub Azure/AKS-Edge, se non è stato fatto in precedenza. Passare alla scheda Codice e fare clic sul pulsante Scarica zip per scaricare il repository come file .zip . Estrarre il file .zip in una cartella locale.
Specificare i dettagli della sottoscrizione di Azure nel file aide-userconfig.json nella
Azure
sezione come descritto nella tabella seguente. Per connettersi correttamente ad Azure usando Kubernetes abilitato per Azure Arc, è necessaria un'entità servizio che fornisce l'accesso basato sui ruoli alle risorse in Azure. Se si dispone già dell'ID e della password dell'entità servizio, è possibile aggiornare tutti i campi nel file aide-userconfig.json . Se non si dispone di un'entità servizio, è possibile specificare un nome e lo script nel passaggio successivo ne crea uno e popola automaticamente laAuth
sezione.Attributo Tipo di valore Descrizione Azure.ClusterName
stringa Specificare un nome per il cluster. Per impostazione predefinita, hostname_cluster
è il nome usato.Azure.Location
string Posizione del gruppo di risorse. Scegliere la località più vicina alla distribuzione. Azure.SubscriptionName
string Nome della sottoscrizione. Azure.SubscriptionId
GUID ID sottoscrizione personale. Nella portale di Azure selezionare la sottoscrizione in uso, quindi copiare/incollare la stringa id sottoscrizione nel codice JSON. Azure.TenantId
GUID ID tenant. Nella portale di Azure cercare "Azure Active Directory", che dovrebbe visualizzare la pagina Directory predefinita. Da qui è possibile copiare/incollare la stringa ID tenant nel file JSON. Azure.ResourceGroupName
string Nome del gruppo di risorse di Azure che ospita le risorse di Azure per AKS Edge Essentials. È possibile usare un gruppo di risorse esistente oppure, se si aggiunge un nuovo nome, il sistema ne crea uno automaticamente. Azure.ServicePrincipalName
string Nome dell'entità servizio di Azure. Azure.Auth.ServicePrincipalId
GUID Id app dell'entità servizio di Azure da usare come credenziali. AKS Edge Essentials usa questa entità servizio per connettere il cluster ad Arc. È possibile usare un'entità servizio esistente o, se si aggiunge un nuovo nome, il sistema ne crea uno nel passaggio successivo. Azure.Auth.Password
string Password (in testo non crittografato) per l'entità servizio di Azure da usare come credenziali. AksEdgeConfigFile
string Nome del file per la configurazione di Azure Kubernetes Edge Essentials ( aksedge-config.json
). LoAksEdgeAzureSetup.ps1
script aggiorna laArc
sezione di questo file JSON con le informazioni necessarie.Nota
Questa procedura deve essere eseguita una sola volta per ogni sottoscrizione di Azure e non deve essere ripetuta per ogni cluster Kubernetes.
Eseguire o fare doppio clic sul file AksEdgePrompt.cmd per aprire una finestra di PowerShell con privilegi elevati con i moduli necessari caricati. Viene visualizzata una panoramica delle informazioni sul PC e delle versioni software installate.
Eseguire lo script AksEdgeAzureSetup.ps1 nella cartella tools\scripts\AksEdgeAzureSetup . Questo script richiede di accedere con le credenziali per configurare la sottoscrizione di Azure:
# prompts for interactive login for service principal creation with Contributor role at resource group level ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json -spContributorRole # (or) alternative option # Prompts for interactive login for service principal creation with minimal privileges ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json
Assicurarsi che le credenziali siano valide usando lo script AksEdgeAzureSetup-Test.ps1 . Questo script accede ad Azure usando le nuove credenziali dell'entità servizio e controlla lo stato delle risorse di Azure:
# Test the credentials ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup-Test.ps1 .\aide-userconfig.json
Passaggio 2: Connettere il cluster ad Azure
Caricare la configurazione JSON in AksEdgeShell usando
Read-AideUserConfig
e verificare che i valori vengano aggiornati usandoGet-AideUserConfig
. In alternativa, è possibile riaprire AksEdgePrompt.cmd per usare la configurazione JSON aggiornata:Read-AideUserConfig Get-AideUserConfig
Importante
Ogni volta che si modifica aide-userconfig.json, eseguire
Read-AideUserConfig
per ricaricare o chiudere e riaprire AksEdgePrompt.cmd.Eseguire
Initialize-AideArc
. Questa opzione installa l'interfaccia della riga di comando di Azure (se non è già installata), accede ad Azure con le credenziali specificate e convalida la configurazione di Azure (provider di risorse e stato del gruppo di risorse):Initialize-AideArc
Eseguire
Connect-AideArc
per installare e connettere il computer host al server abilitato per Arc e per connettere il cluster esistente a Kubernetes abilitato per Arc:# Connect Arc-enabled server and Arc-enabled Kubernetes Connect-AideArc
In alternativa, è possibile connetterli singolarmente usando
Connect-AideArcServer
per i server abilitati per Arc eConnect-AideArcKubernetes
per Kubernetes abilitato per Arc:# Connect Arc-enabled server Connect-AideArcServer # Connect Arc-enabled Kubernetes Connect-AideArcKubernetes
Nota
Questo passaggio può richiedere fino a 10 minuti e PowerShell potrebbe rimanere bloccato in "Definizione di Kubernetes connesso ad Azure per
your cluster name
". Il comando di PowerShell restituisceTrue
l'output e torna al prompt al termine del processo. Un token di connessione viene salvato in servicetoken.txt nella cartella degli strumenti .
Passaggio 3: visualizzare il cluster in Azure
Nel pannello sinistro selezionare il pannello Spazi dei nomi in Risorse Kubernetes (anteprima):
Per visualizzare le risorse kubernetes, è necessario un token di connessione:
Nella finestra di PowerShell eseguire
Get-AksEdgeManagedServiceToken
, copiare la stringa completa e incollarla nel portale di Azure:È ora possibile visualizzare le risorse nel cluster. L'immagine seguente mostra il pannello Carichi di lavoro , con lo stesso valore di
kubectl get pods --all-namespaces
:
Disconnettere il cluster Azure Kubernetes Edge Essentials da Arc quando si usa un proxy
Eseguire Disconnect-AideArc
per disconnettersi dal server abilitato per Arc e da Kubernetes abilitato per Arc:
# Disconnect Arc-enabled server and Arc-enabled Kubernetes
Disconnect-AideArc
In alternativa, è possibile disconnetterli singolarmente usando Connect-AideArcServer
per i server abilitati per Arc e Connect-AideArcKubernetes
per Kubernetes abilitato per Arc:
# Disconnect Arc-enabled server
Disconnect-AideArcServer
# Disconnect Arc-enabled Kubernetes
Disconnect-AideArcKubernetes
Connettere il computer host ad Arc
È possibile connettere il computer host usando
Connect-AideArcServer
per i server abilitati per Arc:# Connect Arc-enabled server Connect-AideArcServer
Per disconnettere il computer host da Arc, usare
Disconnect-AideArcServer
per i server abilitati per Arc:# Disconnect Arc-enabled server Disconnect-AideArcServer
È anche possibile disinstallare l'agente Arc for Server seguendo questa procedura. Per una pulizia completa tramite il portale di Azure, eliminare l'entità servizio e il gruppo di risorse creati per questo esempio.