Condividi tramite


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

  1. 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.

  2. 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 la Auth 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). Lo AksEdgeAzureSetup.ps1 script aggiorna la Arc 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.

  3. 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.

  4. 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
    
  5. 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

  1. Caricare la configurazione JSON in AksEdgeShell usando Read-AideUserConfig e verificare che i valori vengano aggiornati usando Get-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.

  2. 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
    
  3. 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 e Connect-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 restituisce True 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

  1. Nel pannello sinistro selezionare il pannello Spazi dei nomi in Risorse Kubernetes (anteprima):

    Screenshot che mostra l'anteprima delle risorse kubernetes.

  2. Per visualizzare le risorse kubernetes, è necessario un token di connessione:

    Screenshot che mostra il token di connessione obbligatorio.

  3. Nella finestra di PowerShell eseguire Get-AksEdgeManagedServiceToken, copiare la stringa completa e incollarla nel portale di Azure:

    Screenshot che mostra il token incollato nel portale.

  4. È 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:

    Screenshot che mostra i risultati di tutti i pod visualizzati in Arc.

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

  1. È possibile connettere il computer host usando Connect-AideArcServer per i server abilitati per Arc:

    # Connect Arc-enabled server
    Connect-AideArcServer
    
  2. 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.

Passaggi successivi