Risolvere i problemi del servizio Azure Kubernetes nell'hub di Azure Stack
Panoramica della risoluzione dei problemi
La risoluzione dei problemi dei cluster servizio Azure Kubernetes (servizio Azure Kubernetes) nella maggior parte dei aspetti non è diversa dalla risoluzione dei problemi della maggior parte dei cluster Kubernetes. È possibile trovare informazioni sul sito Kubernetes , Risoluzione dei problemi. Un'altra risorsa che può risultare utile nell'hub di Azure Stack è Impostazioni di diagnostica disponibili nel pannello del cluster del servizio Azure Kubernetes del portale utenti dell'hub di Azure Stack.
Da questo pannello è possibile raccogliere informazioni su:
- kube-apiserver
- kube-audit
- kube-audit-admin
- kube-controller-manager
- kube-scheduler
- AllMetrics
Raccogliere i log dai nodi del cluster
Per risolvere alcuni problemi del cluster del servizio Azure Kubernetes, potrebbe essere necessario raccogliere i log direttamente dai nodi del cluster. È possibile usare lo script nel repository GitHub msazurestackworkloads/azurestack-gallery per raccogliere i log dai nodi del cluster. Senza questi script, è necessario connettersi a ogni nodo del cluster, individuare e scaricare manualmente i log.
Gli script hanno lo scopo di semplificare la raccolta di log pertinenti dal cluster Kubernetes. Lo script creerà automaticamente uno snapshot del cluster e si connetterà a ogni nodo per raccogliere i log. Inoltre, lo script può, facoltativamente, caricare i log raccolti in un account di archiviazione.
Questo strumento è progettato per il team di supporto Microsoft per raccogliere log di cluster completi.
Requisiti dello script
- Assicurarsi che il gruppo di sicurezza di rete (NSG) per i nodi del piano di controllo abbia esposto la porta SSH 22.
- Un computer che ha accesso al cluster Kubernetes o allo stesso computer usato per distribuire il cluster. Per il computer Windows, installare Git Bash per eseguire script bash.
- Interfaccia della riga di comando di Azure installata nel computer in cui verrà eseguito lo script. Assicurarsi di poter accedere all'ambiente Di Azure Stack usando
Azure CLI
dal computer. Per informazioni su come installare e configurare l'interfaccia della riga di comando di Azure per gestire il cloud di Azure Stack, vedere Installare l'interfaccia della riga di comando di Azure nell'hub di Azure Stack. - Passare alla sottoscrizione in cui viene distribuito il cluster Kubernetes usando
az account set --subscription <Subscription ID>
. - Scaricare la versione più recente dello script nel computer ed estrarre gli script.
Log
Lo script automatizza il processo di raccolta dei log seguenti:
- File di log nella directory
/var/log/azure/
- File di log nella directory
/var/log/kubeaudit
(log di controllo kube) -
/var/log/waagent.log
File di log (waagent) -
/var/log/azure/deploy-script-dvm.log
File di log (se distribuito con l'elemento del marketplace del cluster Kubernetes di Azure Stack) - Manifesti statici nella directory
/etc/kubernetes/manifests
- Componenti aggiuntivi statici nella directory
/etc/kubernetes/addons
- Log waagent
- Metadati e log dei contenitori kube-system
- stato e journal kubelet
- stato e giornale di registrazione etcd
- docker status and journal
- stato e journal in contenitori
- snapshot kube-system
- File di configurazione di Azure CNI
- file di configurazione kubelet
Altri log vengono recuperati per i nodi Windows:
- File di log
c:\Azure\CustomDataSetupScript.log
- stato e journal kube-proxy
- stato e journal in contenitori
- log azure-vnet e log azure-vnet-telemetry
- Eventi ETW per Docker
- Eventi ETW per Hyper-V
- File di configurazione di Azure CNI
Parametri
Parametro | Descrizione | Necessario | Esempio |
---|---|---|---|
-h, --help | Utilizzo dei comandi di stampa. | no | |
-u,--user | Nome utente amministratore per le macchine virtuali del cluster. | sì | azureuser (valore predefinito) |
-i, --identity-file | Chiave privata SA associata alla chiave pubblica usata per creare il cluster Kubernetes (talvolta denominato "id_rsa"). | sì | /rsa.pem (Putty) ~/.ssh/id_rsa (SSH) |
-g, --resource-group | Gruppo di risorse del cluster Kubernetes. Per i cluster creati dal servizio Azure Kubernetes, il nome del gruppo di risorse gestite segue il modello "MC_RESOURCEGROUP_CLUSTERNAME_LOCTION". | sì | k8sresourcegroup MC_AKSRP_k8scluster1_redmond |
-n, --user-namespace | Raccogliere i log dai contenitori negli spazi dei nomi specificati. Se non specificato, vengono raccolti i log da TUTTI gli spazi dei nomi. | no | Monitoraggio |
--upload-logs | Rende persistenti i log recuperati in un account di archiviazione dell'hub di Azure Stack. I log sono disponibili nel gruppo di risorse KubernetesLogs. | no | |
--api-model | Rende persistente il file apimodel.json in un account di archiviazione dell'hub di Azure Stack. Quando viene fornito anche il parametro --upload-logs, caricare il file apimodel.json nell'account di archiviazione. | no | ./apimodel.json |
--disable-host-key-checking | Imposta l'opzione StrictHostKeyChecking di SSH su "no" durante l'esecuzione dello script. Usare solo in un ambiente sicuro. | no |
Esempio
# switch to the subscription where the Kubernetes cluster is deployed.
az account set --subscription <Subscription ID>
# download the scripts.
mkdir -p $HOME/kuberneteslogs
cd $HOME/kuberneteslogs
curl -L https://github.com/msazurestackworkloads/azurestack-gallery/releases/download/diagnosis-v1.1.0/diagnosis-v1.1.0.tar.gz -o diagnosis.tar.gz
tar xvf diagnosis.tar.gz
# use the script to collect logs
./getkuberneteslogs.sh -u azureuser -i private.key.1.pem -g k8s-rg
./getkuberneteslogs.sh -u azureuser -i ~/.ssh/id_rsa -g k8s-rg --disable-host-key-checking
./getkuberneteslogs.sh -u azureuser -i ~/.ssh/id_rsa -g k8s-rg -n default -n monitoring
./getkuberneteslogs.sh -u azureuser -i ~/.ssh/id_rsa -g k8s-rg --upload-logs --api-model clusterDefinition.json
./getkuberneteslogs.sh -u azureuser -i ~/.ssh/id_rsa -g k8s-rg --upload-logs
Passaggi successivi
Informazioni su come usare il servizio Azure Kubernetes nell'hub di Azure Stack
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per