Perbaikan otomatis simpul Azure Kubernetes Service (AKS)

AKS terus memantau kondisi kesehatan simpul pekerja dan melakukan perbaikan simpul otomatis jika kondisinya menjadi tidak sehat. Platform komputer virtual Azure melakukan pemeliharaan pada komputer virtual yang mengalami masalah.

AKS dan komputer virtual Azure bekerja sama untuk meminimalkan gangguan layanan untuk kluster.

Dalam dokumen ini, Anda akan mempelajari bagaimana fungsi perbaikan simpul otomatis berperilaku untuk simpul Windows dan Linux.

Cara AKS memeriksa simpul yang tidak sehat

AKS menggunakan aturan berikut untuk menentukan apakah simpul tidak sehat dan perlu diperbaiki:

  • Simpul melaporkan status NotReady pada pemeriksaan berturut-turut dalam jangka waktu 10 menit.
  • Simpul tidak melaporkan status apa pun dalam waktu 10 menit.

Anda dapat secara manual memeriksa status kesehatan simpul Anda dengan kubectl.

kubectl get nodes

Cara kerja perbaikan otomatis

Catatan

AKS memulai operasi perbaikan dengan akun pengguna aks-remediator.

Jika AKS mengidentifikasi simpul tidak sehat yang tetap tidak sehat selama 10 menit, AKS mengambil tindakan berikut:

  1. Melakukan reboot pada simpul.
  2. Jika reboot tidak berhasil, lakukan pencitraan ulang pada simpul.
  3. Jika reimage tidak berhasil, sebarkan kembali node.

Remediasi alternatif diselidiki oleh teknisi AKS jika perbaikan otomatis tidak berhasil.

Jika AKS menemukan beberapa simpul tidak sehat selama pemeriksaan kesehatan, setiap simpul akan diperbaiki secara individual sebelum perbaikan lain dimulai.

Autodrain Node

Peristiwa Terjadwal dapat terjadi pada mesin virtual (VM) yang mendasar di salah satu kumpulan node Anda. Untuk kumpulan node spot, peristiwa terjadwal dapat menyebabkan peristiwa node preempt untuk node tersebut. Peristiwa node tertentu, seperti preempt, menyebabkan autodrain node AKS untuk mencoba menjaga dan mengosongkan node yang terpengaruh, yang memungkinkan penjadwalan ulang yang lancar dari setiap beban kerja yang terpengaruh pada node tersebut. Ketika ini terjadi, Anda mungkin melihat node menerima taint dengan "remediator.aks.microsoft.com/unschedulable", karena "kubernetes.azure.com/scalesetpriority: spot".

Tabel berikut menunjukkan peristiwa node, dan tindakan yang mereka sebabkan untuk autodrain node AKS.

Kejadian Deskripsi Tindakan
Bekukan Mesin virtual dijadwalkan untuk dijeda selama beberapa detik. Konektivitas CPU dan jaringan dapat ditangguhkan, tetapi tidak ada dampak pada memori atau file terbuka Tidak ada tindakan
Memulai ulang Mesin virtual dijadwalkan untuk melakukan boot ulang. Memori non-persisten mesin virtual tidak ditemukan. Tidak ada tindakan
Sebar ulang Mesin virtual dijadwalkan untuk berpindah ke node lainnya. Disk sementara mesin virtual tidak ditemukan. Tutup dan kuras
Preempt Spot mesin virtual sedang dihapus. Disk sementara mesin virtual tidak ditemukan. Tutup dan kuras
Hentikan Mesin virtual dijadwalkan untuk dihapus. Tutup dan kuras

Batasan

Dalam banyak kasus, AKS dapat menentukan apakah simpul tidak sehat dan berusaha memperbaiki masalah, tetapi ada kasus di mana AKS tidak dapat memperbaiki masalah atau tidak dapat mendeteksi masalah. Misalnya, AKS tidak dapat mendeteksi masalah jika status node tidak dilaporkan akibat kesalahan dalam konfigurasi jaringan, atau gagal untuk mendaftar sebagai node sehat di awal.

Langkah berikutnya

Gunakan Zona Ketersediaan untuk meningkatkan ketersediaan tinggi dengan beban kerja kluster AKS Anda.