Bagikan melalui


Memecahkan masalah kode kesalahan K8sVersionValidation

Artikel ini menjelaskan cara mengidentifikasi dan mengatasi kode kesalahan K8sVersionValidation yang terjadi saat Anda mencoba membuat dan menyebarkan kluster AKS di Azure Local.

Gejala

Ketika Anda mencoba membuat kluster AKS Arc, Anda menerima salah satu pesan kesalahan berikut:

  • 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

Pesan kesalahan

Bagian ini menjelaskan pesan kesalahan yang mungkin Anda lihat saat menemukan kode kesalahan K8sVersionValidation.

Kubernetes versi 1.27.7 belum siap digunakan di Linux

Pesan kesalahan ini disebabkan oleh unduhan Linux VHD yang tidak lengkap.

Saat menginstal Azure Local, Anda mengunduh VHD Linux berukuran sekitar 4-5 GB. VHD Linux ini digunakan untuk membuat VM yang mendasar untuk simpul Kubernetes di kluster AKS Arc Anda. Pesan kesalahan dapat terjadi ketika VHD Linux Anda belum selesai diunduh. Untuk mengatasi masalah ini, Anda harus menunggu hingga koneksi internet Anda selesai mengunduh gambar Linux VHD.

Untuk memeriksa apakah unduhan gambar sedang berlangsung atau selesai, jalankan perintah berikut:

$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

Jika perintah ini mengatakan bahwa versi K8s sudah siap, dan Anda menjalankan rilis Lokal Azure 2411 atau yang lebih baru, ajukan permintaan dukungan.

Jika Anda menjalankan Rilis Lokal Azure 2408 atau yang lebih lama, lanjutkan ke bagian berikutnya. Kami sangat menyarankan Agar Anda meningkatkan penyebaran Azure Local anda ke versi terbaru, untuk mendapatkan perbaikan bug terbaru dan pembaruan keamanan.

Membuat ulang kubernetesVersions/default

Jika Anda menyebarkan ulang Azure Local dengan nama dan parameter yang sama, Anda mungkin harus membuat ulang kubernetesVersions/default. Untuk melakukannya, jalankan perintah berikut:

$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

Tidak dapat melihat versi Kubernetes atau opsi ukuran VM pada portal Azure

Skenario ini dapat terjadi di rilis Azure Local 2408 atau yang lebih lama, ketika sumber daya default untuk versi Kubernetes (atau ukuran VM) tidak dibuat sebagai bagian dari penyebaran Azure Local.

Untuk mengatasi masalah ini, jalankan perintah berikut:

$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 versi 1.26.12 tidak didukung

Azure Local mendukung versi Kubernetes tertentu di setiap rilisnya. Seperti yang dinyatakan dalam pesan kesalahan, buka https://aka.ms/aksarcsupportedversions daftar versi Kubernetes yang didukung berdasarkan rilis Azure Local yang disebarkan.

Langkah berikutnya

Memecahkan masalah di AKS yang diaktifkan oleh Azure Arc