Risolvere i problemi relativi al codice di errore K8sVersionValidation
Questo articolo descrive come identificare e risolvere il codice di errore K8sVersionValidation che si verifica quando si tenta di creare e distribuire un cluster del servizio Azure Kubernetes in Locale di Azure.
Sintomi
Quando si tenta di creare un cluster Arc del servizio Azure Kubernetes, viene visualizzato uno dei messaggi di errore seguenti:
Kubernetes version 1.27.7 is not ready for use on Linux. Please go to https://aka.ms/aksarccheckk8sversions for details of how to check the readiness of Kubernetes versions
Kubernetes version 1.26.12 is not supported. Please go to https://aka.ms/aksarcsupportedversions for details about the supported Kubernetes version on this platform.
Admission webhook \'vhybridakscluster.kb.io\' denied the request: Kubernetes version 1.26.12 is not available
Messaggi di errore
Questa sezione descrive i messaggi di errore visualizzati quando viene visualizzato il codice di errore K8sVersionValidation.
Kubernetes versione 1.27.7 non è pronto per l'uso in Linux
Questo messaggio di errore è causato da un download VHD Linux incompleto.
Quando si installa Locale di Azure, si scarica un disco rigido virtuale Linux di dimensioni di circa 4-5 GB. Questo disco rigido virtuale Linux viene usato per creare le macchine virtuali sottostanti per i nodi Kubernetes nel cluster Azure Kubernetes Arc. Il messaggio di errore può verificarsi quando il disco rigido virtuale Linux non ha completato il download. Per risolvere questo problema, attendere che la connessione Internet finisca il download dell'immagine del disco rigido virtuale Linux.
Per verificare se il download dell'immagine è in corso o completato, eseguire il comando seguente:
$cl_id = "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.ExtendedLocation/customLocations/<custom_location_name>"
# Get the kubernetes version using CLI (it automatically creates the **kubernetesVersions/default** Azure resource).
az aksarc get-versions --custom-location $cl_id
Se questo comando indica che le versioni K8s sono pronte e si esegue Azure Local release 2411 o versione successiva, inviare una richiesta di supporto.
Se si esegue Azure Local release 2408 o versioni precedenti, passare alla sezione successiva. È consigliabile aggiornare la distribuzione locale di Azure alla versione più recente per ottenere le correzioni di bug e gli aggiornamenti della sicurezza più recenti.
Ricreare kubernetesVersions/default
Se si ridistribuisce Azure Local con lo stesso nome e gli stessi parametri, potrebbe essere necessario ricreare kubernetesVersions/default. A tale scopo, eseguire i comandi seguenti:
$subscription = <subscription_id>
$cl_id = <custom_location_id>
az login --use-device-code
az account set -s $subscription
$token = $(az account get-access-token --query accessToken)
$url = "https://management.azure.com${cl_id}/providers/Microsoft.HybridContainerService/kubernetesVersions/default?api-version=2024-01-01"
# Get the Kubernetes version Azure resource
az rest --headers "Authorization=Bearer $token" "Content-Type=application/json;charset=utf-8" --uri $url --method GET
# Delete the Kubernetes version Azure resource
az rest --headers "Authorization=Bearer $token" "Content-Type=application/json;charset=utf-8" --uri $url --method DELETE
# Get the Kubernetes version using CLI (it automatically creates the Kubernetes version Azure resource)
az aksarc get-versions --custom-location $cl_id
Non è possibile visualizzare le versioni di Kubernetes o le opzioni relative alle dimensioni della macchina virtuale nella portale di Azure
Questo scenario può verificarsi nelle versioni locali di Azure 2408 o versioni precedenti, quando la risorsa predefinita per la versione di Kubernetes (o le dimensioni della macchina virtuale) non è stata creata come parte della distribuzione locale di Azure.
Per risolvere questo problema, eseguire il comando seguente:
$cl_id = "/subscriptions/<subscription_id>/resourceGroups/<resource_group_name>/providers/Microsoft.ExtendedLocation/customLocations/<custom_location_name>"
# Get the kubernetes version using CLI (it automatically creates the **kubernetesVersions/default** Azure resource).
az aksarc get-versions --custom-location $cl_id
Kubernetes versione 1.26.12 non è supportato
Azure Local supporta versioni specifiche di Kubernetes in ognuna delle relative versioni. Come indicato nel messaggio di errore, passare a https://aka.ms/aksarcsupportedversions
per un elenco delle versioni di Kubernetes supportate in base alla versione locale di Azure distribuita.
Passaggi successivi
Risolvere i problemi nel servizio Azure Kubernetes abilitato da Azure Arc