Condividi tramite


Configurare l'accesso kubectl

Questa guida pratica illustra come ottenere i file kubeconfig necessari in base alle esigenze per altre procedure. Il file di sola lettura è sufficiente per visualizzare la configurazione del cluster. Il file dello spazio dei nomi principale è necessario per operazioni quali la modifica dell'autenticazione locale o Microsoft Entra o per la raccolta di acquisizioni di pacchetti.

Accesso di sola lettura

Per l'esecuzione di comandi kubectl di sola lettura, ad esempio per descrivere i pod e visualizzare i log, è possibile scaricare un file kubeconfig dall'interfaccia utente locale dell'ambiente del servizio app. In Dispositivo selezionare Scarica configurazione.

Suggerimento

Per accedere all'interfaccia utente locale, vedere Esercitazione: Connettersi ad Azure Stack Edge Pro con GPU.

Screenshot del dashboard di Kubernetes che mostra il collegamento per scaricare la configurazione.

Il file scaricato viene chiamato config.json. Questo file dispone dell'autorizzazione per descrivere i pod e visualizzare i log, ma non per accedere ai pod con kubectl exec.

Accesso dello spazio dei nomi principale

La distribuzione di Azure Private 5G Core usa lo spazio dei nomi principale . Per operazioni come la modifica dell'autenticazione locale o Microsoft Entra o per la raccolta di pacchetti, è necessario un file kubeconfig con accesso completo allo spazio dei nomi principale . Per scaricare questo file, configurare una sessione minishell ed eseguire i comandi necessari come indicato in questa sezione.

È necessario eseguire questa procedura una sola volta. Se è stata eseguita questa procedura prima di poter usare il file kubeconfig salvato in precedenza.

Immettere una sessione minishell

Durante questa procedura è necessario eseguire i comandi di minishell in Azure Stack Edge. È necessario usare un computer Windows in una rete con accesso alla porta di gestione dell'ambiente del servizio app. Dovrebbe essere possibile visualizzare l'interfaccia utente locale dell'ambiente del servizio app per verificare di avere accesso.

Abilitare WinRM nel computer

Il processo seguente usa PowerShell e richiede l'abilitazione di WinRM nel computer. Eseguire il comando seguente da una finestra di PowerShell in modalità amministratore:

winrm quickconfig

WinRM potrebbe essere già abilitato nel computer, perché è necessario eseguire questa operazione una sola volta. Verificare che le connessioni di rete siano impostate su Privato o Dominio (non Pubblico) e accettare eventuali modifiche.

Suggerimento

WinRM apre il PC alle connessioni remote, necessarie per il resto della procedura. Se non si vogliono lasciare consentite le connessioni remote, eseguire Stop-Service WinRM -PassThru e quindi Set-Service WinRM -StartupType Disabled -PassThru da una finestra di PowerShell in modalità amministratore dopo aver completato il resto della procedura per ottenere l'accesso allo spazio dei nomi principale.

Avviare la sessione minishell

  1. Da una finestra di PowerShell in modalità amministratore immettere l'indirizzo IP di gestione dell'ambiente del servizio app (incluse le virgolette, ad esempio "10.10.5.90"):

    $ip = "<ASE_IP_address>"
    
    $sessopt = New-PSSessionOption -SkipCACheck -SkipCNCheck -SkipRevocationCheck
    
    $minishellSession = New-PSSession -ComputerName $ip -ConfigurationName "Minishell" -Credential ~\EdgeUser -UseSSL -SessionOption $sessopt
    
  2. Al prompt immettere la password di Azure Stack Edge. Ignorare il messaggio seguente:

    WARNING: The Windows PowerShell interface of your device is intended to
    be used only for the initial network configuration. Please
    engage Microsoft Support if you need to access this interface
    to troubleshoot any potential issues you may be experiencing.
    Changes made through this interface without involving Microsoft
    Support could result in an unsupported configuration.
    

È ora disponibile una sessione minishell configurata per ottenere il file kubeconfig nel passaggio successivo.

Suggerimento

In caso di modifica della rete, la sessione può interrompersi. Eseguire Get-PSSession per visualizzare lo stato della sessione. Se è ancora connesso, si dovrebbe comunque essere in grado di eseguire i comandi di minishell. Se è interrotto o disconnesso, eseguire Remove-PSSession per rimuovere la sessione in locale, quindi avviare una nuova sessione.

Configurare l'accesso kubectl

  • Se è la prima volta che si esegue questa procedura, è necessario eseguire i passaggi seguenti. Questi passaggi creano lo spazio dei nomi, scaricano il file kubeconfig e lo usano per concedere l'accesso allo spazio dei nomi.

    Invoke-Command -Session $minishellSession -ScriptBlock {New-HcsKubernetesNamespace -Namespace "core"}
    Invoke-Command -Session $minishellSession -ScriptBlock {New-HcsKubernetesUser -UserName "core"} | Out-File -FilePath .\kubeconfig-core.yaml
    Invoke-Command -Session $minishellSession -ScriptBlock {Grant-HcsKubernetesNamespaceAccess -Namespace "core" -UserName "core"}
    

    Se viene visualizzato un errore simile The Kubernetes namespace 'core' already existsa , significa che questi passaggi sono stati eseguiti prima. In questo caso, passare direttamente al punto elenco successivo per recuperare il file generato in precedenza.

  • Se si esegue questa procedura in precedenza, è possibile recuperare immediatamente il file kubeconfig generato in precedenza eseguendo:

    Invoke-Command -Session $miniShellSession -ScriptBlock { Get-HcsKubernetesUserConfig -UserName "core" }
    

Per altre informazioni, vedere Configurare l'accesso al cluster tramite il controllo degli accessi in base al ruolo di Kubernetes.

Passaggi successivi

  • Salvare il file kubeconfig in modo che sia disponibile per usarlo se necessario in futuro.
  • Se è necessario il file kubeconfig come parte del completamento di una procedura diversa (ad esempio per configurare l'autenticazione di Microsoft Entra), tornare a tale procedura e continuare.