Perbaikan otomatis simpul Azure Kubernetes Service (AKS)

Azure Kubernetes Service (AKS) terus memantau kondisi kesehatan simpul pekerja serta 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 artikel ini, Anda mempelajari bagaimana fungsionalitas perbaikan simpul otomatis berulah untuk simpul Windows dan Linux.

Cara AKS memeriksa node NotReady

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 memeriksa status kesehatan simpul Anda secara manual dengan kubectl get nodes perintah .

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 lima menit, AKS melakukan tindakan berikut:

  1. Mencoba menghidupkan ulang simpul.
  2. Jika mulai ulang node tidak berhasil, AKS akan meniri ulang simpul.
  3. Jika reimage tidak berhasil dan merupakan node Linux, AKS menyebarkan ulang node.

Teknisi AKS menyelidiki remediasi alternatif jika perbaikan otomatis tidak berhasil.

Catatan

Perbaikan otomatis tidak dipicu jika taint berikut ada pada simpul: node.cloudprovider.kubernetes.io/shutdown, ToBeDeletedByClusterAutoscaler.

Proses perbaikan otomatis secara keseluruhan dapat memakan waktu hingga satu jam untuk diselesaikan. AKS mencoba kembali maksimal 3 kali untuk setiap langkah.

Kuras otomatis simpul

Peristiwa terjadwal dapat terjadi pada VM yang mendasar di salah satu kumpulan simpul Anda. Untuk kumpulan node spot, peristiwa terjadwal dapat menyebabkan peristiwa node preempt untuk node tersebut. Peristiwa node tertentu, seperti preempt, menyebabkan pengurasan otomatis node AKS mencoba cordon dan pengurasan node yang terpengaruh. Proses ini memungkinkan penjadwalan ulang untuk beban kerja yang terpengaruh pada simpul tersebut. Anda mungkin melihat simpul menerima taint dengan "remediator.kubernetes.azure.com/unschedulable", karena "kubernetes.azure.com/scalesetpriority: spot".

Tabel berikut menunjukkan peristiwa dan tindakan simpul yang mereka sebabkan untuk pengurasan otomatis simpul AKS:

Event Deskripsi Tindakan
Bekukan Mesin virtual dijadwalkan untuk dijeda selama beberapa detik. Konektivitas CPU dan jaringan mungkin ditangguhkan, tetapi tidak ada dampak pada memori atau file terbuka. Tidak ada tindakan.
Reboot Mesin virtual dijadwalkan untuk melakukan boot ulang. Memori non-persisten mesin virtual tidak ditemukan. Tidak ada tindakan.
Menyebarkan ulang Mesin virtual dijadwalkan untuk berpindah ke node lainnya. Disk sementara mesin virtual tidak ditemukan. Cordon dan tiang.
Preempt Spot mesin virtual sedang dihapus. Disk sementara mesin virtual tidak ditemukan. Tutup dan kuras
Mengakhiri VM dijadwalkan untuk dihapus. Cordon dan tiang.

Batasan

Dalam banyak kasus, AKS dapat menentukan apakah node tidak sehat dan mencoba memperbaiki masalah. Namun, ada kasus di mana AKS tidak dapat memperbaiki masalah atau mendeteksi bahwa ada masalah. Misalnya, AKS tidak dapat mendeteksi masalah dalam contoh skenario berikut:

  • Status simpul tidak dilaporkan karena kesalahan dalam konfigurasi jaringan.
  • Sebuah simpul gagal mendaftar sebagai node yang sehat.

Node Autodrain adalah layanan upaya terbaik dan tidak dapat dijamin beroperasi dengan sempurna dalam semua skenario

Langkah berikutnya

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