Konfigurasikan probe dan pemeriksaan kesehatan penyeimbang beban - AWS Bimbingan Preskriptif

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Konfigurasikan probe dan pemeriksaan kesehatan penyeimbang beban

Kubernetes menyediakan beberapa cara untuk melakukan pemeriksaan kesehatan aplikasi selain pemeriksaan kesehatan load balancer. Anda dapat menjalankan probe bawaan Kubernetes berikut bersama dengan pemeriksaan kesehatan load balancer sebagai perintah dalam konteks pod atau sebagai probe HTTP/TCP ke kubelet atau alamat IP host.

Probe keaktifan dan probe kesiapan harus berbeda dan independen (atau setidaknya dengan nilai batas waktu yang berbeda). Jika aplikasi memiliki masalah sementara, probe kesiapan akan menandai pod sebagai belum siap sampai masalah teratasi. Jika pengaturan probe livenss tidak benar, probe keaktifan mungkin menghentikan pod.

Probe startup

Gunakan probe startup untuk melindungi aplikasi yang memiliki siklus inisialisasi yang panjang. Sampai probe startup berhasil, probe lainnya dinonaktifkan.

Anda dapat menentukan waktu maksimum yang Kubernetes harus menunggu startup aplikasi. Jika, setelah waktu maksimum yang dikonfigurasi, pod masih gagal dalam probe startup, aplikasi dihentikan, dan pod baru dibuat.

Gunakan probe startup ketika waktu startup aplikasi tidak dapat diprediksi. Jika Anda tahu bahwa aplikasi Anda membutuhkan 10 detik untuk memulai, gunakan probe keaktifan atau probe kesiapan sebagai gantinya. initialDelaySeconds

Probe keaktifan

Gunakan probe liveness untuk mendeteksi masalah aplikasi atau apakah proses berjalan tanpa masalah. Probe keaktifan dapat mendeteksi kondisi kebuntuan di mana proses terus berjalan tetapi aplikasi menjadi tidak responsif. Saat menggunakan probe liveness, lakukan hal berikut:

  • Gunakan initialDelaySeconds untuk menunda probe pertama.

  • Jangan mengatur spesifikasi yang sama untuk probe keaktifan dan kesiapan.

  • Jangan mengonfigurasi probe keaktifan agar bergantung pada faktor eksternal pod Anda (misalnya, database).

  • Atur probe keaktifan untuk yang spesifikterminationGracePeriodSeconds. Untuk informasi selengkapnya, lihat dokumentasi Kubernetes.

Probe kesiapan

Gunakan probe kesiapan untuk mendeteksi hal-hal berikut:

  • Apakah aplikasi siap menerima lalu lintas

  • Ketersediaan sebagian, di mana aplikasi mungkin sementara tidak tersedia tetapi diharapkan akan sehat kembali setelah operasi tertentu selesai

Probe kesiapan membantu memastikan bahwa konfigurasi dan dependensi aplikasi berjalan tanpa masalah atau kesalahan, sehingga aplikasi dapat melayani lalu lintas. Namun, probe kesiapan yang tidak dikonfigurasi dengan baik dapat menyebabkan pemadaman alih-alih mencegahnya. Probe kesiapan yang bergantung pada faktor eksternal, seperti konektivitas ke database, dapat menyebabkan semua pod gagal dalam probe. Kegagalan tersebut dapat mengakibatkan pemadaman, dan dapat menyebabkan kegagalan cascading dari layanan backend ke layanan lain yang menggunakan pod yang gagal.

Pemeriksaan kesehatan sumber daya masuk dan penyeimbang beban

Application Load Balancer dan Kubernetes menyediakan fitur pemeriksaan kesehataningress. Untuk pemeriksaan kesehatan Application Load Balancer, tentukan port dan jalur target.

Catatan: Untuk Kubernetesingress, akan ada latensi deregistrasi. Default untuk Application Load Balancer adalah 300 detik. Pertimbangkan untuk menyiapkan sumber daya masuk atau pemeriksaan kesehatan penyeimbang beban dengan menggunakan nilai yang sama dengan yang Anda gunakan untuk penyelidikan kesiapan Anda. 

NGINX juga menyediakan pemeriksaan kesehatan. Untuk informasi selengkapnya, lihat dokumentasi NGINX.

Gerbang masuk dan keluar Istio tidak memiliki mekanisme pemeriksaan kesehatan yang sebanding dengan pemeriksaan kesehatan HTTP dari NGINX. Namun, Anda dapat mencapai fungsionalitas serupa dengan menggunakan pemutus sirkuit Istio atau deteksi DestinationRule outlier.

Untuk informasi selengkapnya, lihat Praktik Terbaik EKS — Load Balancing (Ketersediaan dan Siklus Hidup Pod).