Application Load Balancer (ALB) Ingress controller digunakan untuk meneruskan permintaan eksternal ke aplikasi dalam kluster Kubernetes. Pengontrol ini memantau perubahan pada Layanan dan titik akhir yang terkait dengan ALB Ingress. Saat perubahan terdeteksi, pengontrol menyinkronkan perubahan tersebut secara real-time ke grup server backend dari instance ALB yang sesuai serta ke konsol ALB. Topik ini menjelaskan cara mendiagnosis kesalahan pengontrol ALB Ingress dan memberikan solusi.
Sinkronisasi Sumber Daya
Gambar berikut menunjukkan cara pengontrol ALB Ingress menyinkronkan sumber daya.
Pengontrol ALB Ingress membuat instance ALB dan dua pendengar, listener1 dan listener2, berdasarkan AlbConfig yang Anda konfigurasikan.
Pengontrol ALB Ingress membuat dua aturan pengalihan, rule1 dan rule2, berdasarkan Ingress yang Anda konfigurasikan, dan mengaitkan rule1 dan rule2 dengan listener2. Dua grup server backend, vgroup1 dan vgroup2, ditentukan dalam rule1. Satu grup server backend, vtgroup2, ditentukan dalam rule2.
Pengontrol ALB Ingress memantau perubahan pada Layanan dan titik akhir. Saat perubahan terdeteksi, pengontrol menyinkronkan perubahan tersebut secara real-time ke grup server backend dari instance ALB yang sesuai.
Sinkronisasi sebelumnya dapat gagal karena batasan tertentu. Dalam hal ini, peristiwa kesalahan dicatat. Langkah-langkah berikut menjelaskan cara melihat, menganalisis, dan menyelesaikan kesalahan tersebut.
Langkah 1: Lihat peristiwa kesalahan
Perbarui pengontrol ALB Ingress ke versi terbaru.
Peristiwa terus diperbarui. Sebelum Anda mendiagnosis pengontrol ALB Ingress, disarankan untuk memperbaruinya ke versi terbaru.
Jalankan perintah berikut untuk menanyakan peristiwa kesalahan Ingress:
kubectl -n your-namespace describe ingress your-ingress-nameBagian
Eventsdalam keluaran menampilkan peristiwa kesalahan Ingress.Scheduled for sync: Sebuah peristiwa dimulai.Successfully reconciled: Sebuah peristiwa berakhir.
Langkah 2: Analisis dan selesaikan kesalahan
Tabel berikut menjelaskan penyebab umum peristiwa kesalahan dan memberikan solusi.
Peristiwa kesalahan | Penyebab | Solusi |
listener tidak ada, port: 80, protokol: HTTP | Pengontrol ALB Ingress 2.11.0 dan yang lebih baru dapat mengaitkan pendengar dengan Ingress tetapi tidak dapat membuat pendengar. Jika pendengar yang Anda kaitkan dengan Ingress tidak dikonfigurasikan dalam AlbConfig, peristiwa kesalahan akan dihasilkan. | Untuk pengontrol ALB Ingress 2.11.0 dan yang lebih baru, Anda harus mengonfigurasikan pendengar yang ingin Anda gunakan dalam AlbConfigs. |
pendengar tidak ditemukan untuk (80/HTTP), dengan ingress 1 | Untuk pengontrol ALB Ingress 2.11.0 dan yang lebih baru, jika Anda menghapus pendengar dari AlbConfig tetapi pendengar tersebut terkait dengan Ingress, peristiwa kesalahan akan dihasilkan. Peristiwa tersebut berisi informasi tentang pendengar dan jumlah Ingress yang terkait dengan pendengar. | Jika Anda ingin menghapus pendengar, Anda harus terlebih dahulu melepaskan semua Ingress dari pendengar. Penting Jika Anda secara tidak sengaja menghapus pendengar, Anda dapat menambahkan kembali pendengar tersebut. |
tidak ada sertifikat yang ditemukan untuk host | TLS dan penemuan sertifikat otomatis diaktifkan tetapi tidak ada sertifikat yang terkait dengan nama domain di konsol Certificate Management Service. |
|
Param dari Rules.1.RuleConditions.2.PathConfig.Values.1 ilegal | Path tidak valid ditentukan saat Anda membuat atau memodifikasi aturan pengalihan. |
|
Param dari ServerGroupName ilegal | Nama grup server backend yang terkait dengan instance ALB tidak valid. | Tentukan nama dalam format yang valid. Nama harus dalam format |
Sumber daya yang ditentukan sgp-vz2fb219vv792flx3u sedang digunakan | Grup server backend ditambahkan ke instance ALB lain. | Masuk ke konsol ALB. Di panel navigasi di sebelah kiri, pilih . Pada halaman Server Groups, temukan grup server backend dan hapus dari instance ALB lain. |
Pesan: Nilai tidak valid. Tetapkan nilai dalam format yang valid. | ID sertifikat yang Anda tentukan dalam AlbConfig tidak valid. | Periksa apakah ID yang Anda tentukan adalah ID sumber daya atau ID numerik. Ganti ID sumber daya atau ID numerik dengan ID sertifikat yang ditentukan oleh parameter CertIdentifier. |