Pemeriksaan kesehatan aktif secara otomatis menonaktifkan node layanan yang tidak sehat dan mengaktifkannya kembali saat kondisinya pulih. Fitur ini meningkatkan ketersediaan rute ke antarmuka layanan dalam penerapan multi-replika.
Prosedur
Jika versi gateway adalah 1.2.1 atau lebih baru, fitur pemeriksaan kesehatan TCP akan diaktifkan secara otomatis saat Anda membuat layanan.
-
Masuk ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.
-
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Pada halaman Gateways, klik ID gateway tersebut.
-
Di panel navigasi kiri, klik Routes. Lalu, klik tab Services.
-
Pada tab Services, temukan layanan yang diinginkan dan klik Health Check Settings di kolom Actions. Di panel Configure Health Check, aktifkan Enable Health Check, konfigurasikan parameter, lalu klik OK.
Troubleshooting kegagalan pemeriksaan kesehatan
Troubleshooting kegagalan pemeriksaan kesehatan yang terjadi dalam skenario umum
Tentukan apakah pemeriksaan kesehatan TCP atau HTTP yang gagal:
-
Jika pemeriksaan kesehatan TCP gagal, koneksi ke node gateway tidak dapat dibuat. Periksa hal berikut:
-
Periksa apakah node tersebut ada.
-
Periksa apakah terlalu banyak koneksi bersamaan yang dibuat.
-
-
Jika pemeriksaan kesehatan HTTP gagal, pastikan terlebih dahulu bahwa pemeriksaan kesehatan TCP berhasil. Jika ya, periksa apakah path pemeriksaan kesehatan yang dikonfigurasi valid dengan menggunakan alat seperti cURL atau Postman.
-
Jika Docker diinstal pada instans ECS backend, periksa apakah jaringan bridge Docker bentrok dengan jaringan VPC. Jaringan bridge Docker default (misalnya, 172.17.0.0/16) mungkin tumpang tindih dengan jaringan VPC tempat instans ECS berada (misalnya, 172.16.0.0/12). Tumpang tindih ini menyebabkan permintaan pemeriksaan kesehatan gateway diarahkan secara salah. Jalankan perintah
route -npada instans ECS untuk memeriksa tabel rute dan pastikan apakah jaringan bridge Docker tumpang tindih dengan jaringan VPC. Untuk mengatasi bentrokan ini, ubah parameterbipdalam file/etc/docker/daemon.jsonagar jaringan bridge Docker berubah (misalnya, menjadi 192.168.0.1/24). Kemudian, restart layanan Docker dan pastikan bentrokan telah terselesaikan.
Troubleshooting kegagalan pemeriksaan kesehatan saat menambahkan layanan untuk pertama kali
Lakukan operasi berikut secara berurutan:
-
Periksa apakah VPC layanan sama dengan VPC gateway, atau apakah lingkungan layanan terhubung ke VPC gateway melalui Cloud Enterprise Network (CEN) atau koneksi fisik. Jika VPC berbeda dan tidak terhubung, alamat IP gateway tidak dapat diakses.
CatatanGateway tidak mendukung layanan on-premises yang terdaftar pada instans Nacos dan ZooKeeper.
-
Periksa apakah VPC layanan sama dengan VPC gateway. Jika VPC berbeda dan tidak terhubung, alamat IP gateway tidak dapat diakses.
-
Periksa apakah otorisasi security group telah dikonfigurasi. Jika sumber layanan berasal dari kluster Container Service for Kubernetes (ACK), pastikan gateway telah ditambahkan ke security group kluster ACK tersebut. Untuk informasi lebih lanjut, lihat Lakukan otorisasi security group.
-
Jika gateway yang tidak sehat menggunakan Alamat IP publik, periksa apakah Gateway NAT Internet diaktifkan untuk VPC gateway tersebut.
Status pemeriksaan kesehatan menampilkan Checking, atau probe awal gagal tetapi probe berikutnya berhasil
Untuk layanan pada cloud-native gateway, ini biasanya merupakan status transisi normal, bukan kesalahan. Penyebab umum meliputi:
-
Respons dari layanan backend tertunda, dan probe pertama memakan waktu hampir mencapai ambang batas timeout (misalnya, 2 detik), sehingga status tidak diperbarui tepat waktu.
-
Pod atau gateway sedang dalam beban tinggi, sehingga pemeriksaan kesehatan tidak mendapatkan hasil yang diharapkan tepat waktu.
-
Pemeriksaan kesehatan baru saja diaktifkan, atau layanan baru saja terdaftar, dan siklus probe belum selesai. Layanan hanya ditandai sebagai sehat setelah beberapa probe berturut-turut berhasil.
Amati statusnya untuk sementara waktu. Jika pemeriksaan kesehatan tetap tidak normal, lanjutkan troubleshooting dengan metode lain yang dijelaskan dalam topik ini.
Troubleshooting kegagalan pemeriksaan kesehatan akibat konfigurasi protokol yang salah, di mana pemeriksaan kesehatan berhasil tetapi akses gagal
Jika pemeriksaan kesehatan upstream untuk MSE Ingress pada cloud-native gateway berhasil tetapi Anda tetap tidak dapat mengakses layanan tersebut, periksa apakah jenis protokol aplikasi yang sesuai di Container Service for Kubernetes (ACK) dikonfigurasi dengan benar. Misalnya, permintaan HTTP harus menggunakan protokol TCP. Jika protokol salah diatur ke UDP, akses akan gagal meskipun pemeriksaan kesehatan berhasil.
Lakukan pemeriksaan berikut:
-
Simpan ulang dan terbitkan ulang konfigurasi rute.
-
Periksa apakah pendengaran otomatis diaktifkan untuk sumber layanan.
-
Jalankan perintah
kubectl describe endpointsuntuk memeriksa detail titik akhir layanan.
FAQ tentang Alamat IPv6 yang menyebabkan kegagalan pemeriksaan kesehatan
T: Mengapa pemeriksaan kesehatan gateway MSE tetap gagal meskipun Pod sudah mendengarkan pada port IPv6?
J: Gateway MSE tidak mendukung proxy sumber daya IPv6. Untuk mengatasi masalah ini, ubah konfigurasi Service backend dan atur ipFamilies ke IPv4 agar traffic dikirimkan melalui IPv4.