Condividi tramite


Risolvere i problemi comuni relativi all'host contenitore Linux di Azure per il servizio Azure Kubernetes

Questo articolo illustra i passaggi per la risoluzione dei problemi segnalati comunemente quando si usano gli host contenitore Linux di Azure in servizio Azure Kubernetes (servizio Azure Kubernetes). Per altre informazioni su come iniziare a usare gli host contenitore Linux di Azure nel servizio Azure Kubernetes, vedere Usare Azure Linux con il servizio Azure Kubernetes.

Prima di iniziare

Leggere la guida ufficiale per la risoluzione dei problemi relativi ai cluster Kubernetes. Leggere anche la guida del tecnico Microsoft alla risoluzione dei problemi di Kubernetes. Questa guida contiene i comandi per la risoluzione dei problemi relativi a pod, nodi, cluster e altre funzionalità.

Esaminare infine l'elenco delle limitazioni note in Azure Linux. Un problema che si sta tentando di risolvere potrebbe essere già in uso.

Prerequisiti

  • Interfaccia della riga di comando di Azure, versione 2.31 o successiva. Se l'interfaccia della riga di comando di Azure è già installata, è possibile trovare il numero di versione eseguendo az --version.

Informazioni sull'host contenitore Linux di Azure per il servizio Azure Kubernetes

Azure Linux è una distribuzione Linux open source creata da Microsoft. In quanto sistema operativo leggero, Azure Linux offre le funzionalità seguenti:

  • Contiene solo i pacchetti necessari per eseguire i carichi di lavoro del contenitore
  • Viene sottoposto a test di convalida di Azure
  • È compatibile con gli agenti di Azure

Host contenitore Linux di Azure per il servizio Azure Kubernetes è un'immagine del sistema operativo per il servizio Azure Kubernetes ottimizzata per l'esecuzione di carichi di lavoro del contenitore. Viene gestito da Microsoft e basato su Azure Linux. Offre affidabilità e coerenza dal cloud all'edge tra il servizio Azure Kubernetes, il servizio Azure Kubernetes in Azure Stack HCI e i prodotti Azure Arc . È possibile usare gli host contenitore Linux di Azure per eseguire i processi seguenti:

  • Distribuire pool di nodi Linux di Azure in un nuovo cluster.
  • Aggiungere pool di nodi Linux di Azure ai cluster Ubuntu esistenti.
  • Eseguire la migrazione dei nodi Ubuntu ai nodi Linux di Azure.

Per altre informazioni su Azure Linux, vedere il repository GitHub di Azure Linux .

Elenco di controllo per la risoluzione dei problemi

Passaggio 1: Esaminare i comandi equivalenti in Ubuntu e Azure Linux

La maggior parte dei comandi nel sistema operativo Linux di Azure, ad esempio il comando stato del processo (ps), è simile ai comandi usati in Ubuntu. Tuttavia, la gestione dei pacchetti viene eseguita usando il comando Tiny DNF (tdnf). La tabella seguente elenca alcuni comandi comuni in Ubuntu e i relativi equivalenti in Azure Linux.

Comando Ubuntu Comando Di Azure Linux consigliato
apt -- list installed rpm -qa
apt autoclean tdnf clean all
apt autoremove dnf autoremove
apt dist-upgrade dnf distro-sync
apt download tdnf download
apt install tdnf install
apt install --reinstall tdnf reinstall
apt list - upgradable dnf list updates
apt remove tdnf remove
apt search tdnf search
apt show tdnf list
apt upgrade tdnf upgrade
apt cache dump tdnf list available
apt-cache dumpavail tdnf list available
apt-cache policy tdnf list
apt-cache rdepends dnf repoquery -- alldeps - whatrequires
apt-cache search tdnf search
apt-cache show tdnf info
apt-cache stats (nessun equivalente esatto; leggere il file Packages nella cartella /var/lib/rpm )
apt-config shell dnf shell
apt-file list dnf repoquery -l
apt-file search tdnf provides
apt-get autoremove dnf autoremove
apt-get install tdnf install
apt-get remove tdnf remove
apt-get update dnf clean expire-cache dnf check-update
apt-mark auto tdnf install dnf mark remove
apt-mark manual dnf mark install
apt-mark showmanual dnf history userinstalled

Passaggio 2: Controllare la versione di Azure Linux

Assicurarsi di usare la versione corretta di Azure Linux. La versione supportata di Azure Linux per l'uso è Azure Linux 2.0. Nell'output del comando az aks nodepool list seguente, la osSKU proprietà deve leggere AzureLinux.

az aks nodepool list --resource-group <resource-group-name> --cluster-name <aks-cluster-name>

Anche se questo comando potrebbe non risolvere il problema riscontrato, il controllo delle versioni è un problema comune per gli utenti che segnalano che gli agenti o le estensioni non funzionano correttamente in Azure Linux.

Passaggio 3: Comprendere la differenza nei percorsi dei file di certificato

Azure Linux (e altre distribuzioni RPM) archivia i certificati in modo diverso da Ubuntu.

In Azure Linux il percorso /etc/ssl/certs è un collegamento simbolico a /etc/pki/tls/certs. Se un contenitore prevede di eseguire il mapping di /etc/ssl/certs per l'uso del file di certificato ca-certificates.crt in Azure Linux, il contenitore ottiene invece un collegamento simbolico che non punta da nessuna parte. Questo comportamento causa errori correlati al certificato nel contenitore. Il contenitore deve anche eseguire il mapping di /etc/pki in modo che il contenitore possa seguire la catena di collegamento simbolica. Se il contenitore deve funzionare sia negli host Ubuntu che in Linux di Azure, è possibile eseguire il mapping di /etc/pki usando il DirectoryOrCreate tipo in un volume hostPath.

Passaggio 4: Aggiornare l'interfaccia della riga di comando di Azure e l'estensione di anteprima del servizio Azure Kubernetes

Se si tenta di distribuire un cluster del servizio Azure Kubernetes linux usando l'interfaccia della riga di comando di Azure, potrebbe essere visualizzato un messaggio di errore che indica che l'opzione AzureLinux non è supportata per il OSSku parametro . Questo messaggio indica che è possibile usare una versione obsoleta dell'interfaccia della riga di comando di Azure o l'estensione di anteprima del servizio Azure Kubernetes. Per risolvere questo problema, eseguire una o entrambe le due azioni seguenti:

  • Se l'interfaccia della riga di comando di Azure non è aggiornata, installare la versione più recente. Per aggiornare l'interfaccia della riga di comando di Azure, eseguire il comando az upgrade seguente:

    az upgrade
    
  • Se è installata una versione precedente dell'estensione aks-preview , installare una versione più recente in modo che il valore del OSSku parametro sia AzureLinux. Per aggiornare l'estensione, eseguire il comando az extension update seguente:

    az extension update --name aks-preview
    

Dichiarazione di non responsabilità sulle informazioni di terze parti

I prodotti di terzi citati in questo articolo sono prodotti da società indipendenti da Microsoft. Microsoft non rilascia alcuna garanzia implicita o esplicita relativa alle prestazioni o all'affidabilità di tali prodotti

Dichiarazione di non responsabilità di contatti di terze parti

Microsoft fornisce informazioni di contatto di terze parti per aiutarti a trovare ulteriori informazioni su questo argomento. Queste informazioni di contatto sono soggette a modifica senza preavviso. Microsoft non garantisce l'accuratezza delle informazioni di contatto di terze parti.

Contattaci per ricevere assistenza

In caso di domande o bisogno di assistenza, creare una richiesta di supporto tecnico oppure formula una domanda nel Supporto della community di Azure. È possibile anche inviare un feedback sul prodotto al feedback della community di Azure.