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.
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
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
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 exists
a , 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.