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.
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 .
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:
- Mencoba menghidupkan ulang simpul.
- Jika mulai ulang node tidak berhasil, AKS akan meniri ulang simpul.
- 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.
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:
Kejadian | 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. |
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
Gunakan zona ketersediaan untuk meningkatkan ketersediaan tinggi dengan beban kerja kluster AKS Anda.
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: