Controller ALB Ingress adalah controller Ingress untuk kluster Kubernetes yang mengarahkan lalu lintas eksternal ke layanan di dalam kluster. Saat Anda menggunakan ALB Ingress untuk mengakses suatu layanan, controller ALB Ingress memantau perubahan pada sumber daya Endpoint terkait, menyinkronkan status node backend ke grup server backend yang sesuai secara real time, dan menerapkan perubahan tersebut ke instans Application Load Balancer (ALB). Topik ini menjelaskan cara mendiagnosis dan menyelesaikan masalah yang mungkin terjadi saat menggunakan ALB Ingress.
Cara kerja
Saat Anda mengakses layanan melalui ALB Ingress, controller ALB Ingress memantau perubahan berbagai sumber daya dan menyinkronkan perubahan tersebut ke instans ALB terkait. Sinkronisasi dapat gagal karena berbagai batasan atau kesalahan konfigurasi. Gambar berikut menunjukkan hubungan logis antara berbagai sumber daya dan proses sinkronisasi.
Langkah 1: Melihat event anomali
Menggunakan konsol: Di panel navigasi sebelah kiri, pilih . Pilih namespace target, klik nama Ingress target untuk membuka halaman detailnya, lalu klik tab Events.
Menggunakan kubectl:
kubectl describe ingress <ingress-name> -n <namespace>Keluaran yang diharapkan:
... Events: Type Reason Age From Message ---- ------ ---- ---- ------- Warning FailedBuildModel 2m28s (x10 over 6m43s) ingress listener is not exist in alb, port: 443, protocol: HTTPS Normal Sync 19s (x32 over 11d) ingress Scheduled for sync Normal SuccessfullyReconciled 4s (x20 over 11d) ingress Successfully reconciled
Di kolom Description atau bidang Message, Anda dapat menemukan informasi event untuk Ingress tersebut.
Scheduled for sync: Menunjukkan bahwa event telah dimulai.Successfully reconciled: Menunjukkan bahwa rekonsiliasi telah selesai dan event berakhir dengan sukses.Untuk pesan
Warning, lihat Langkah 2 untuk pemecahan masalah.Jika perubahan tidak berlaku dan tidak ada event anomali yang dilaporkan, lihat Apa yang harus saya lakukan jika perubahan pada ALB Ingress tidak berlaku tetapi tidak ada event anomali yang dilaporkan?
Langkah 2: Menganalisis dan menyelesaikan event anomali
Tabel berikut menjelaskan event anomali umum, penyebabnya, serta solusinya.
Untuk mencegah masalah yang disebabkan oleh ketidakcocokan antara versi lama controller ALB Ingress dan fitur-fitur baru, kami menyarankan agar Anda meningkatkan komponen tersebut ke versi terbaru sebelum memulai pemecahan masalah. Untuk informasi selengkapnya, lihat Catatan rilis dan cara meningkatkan komponen tersebut.
Pesan kesalahan (Message) | Penyebab | Solusi |
listener does not exist in alb, port: 80, protocol: HTTP | Pada controller ALB Ingress V2.11.0 dan versi lebih baru, listener untuk suatu Ingress hanya diasosiasikan, bukan dibuat secara otomatis. Kesalahan ini terjadi jika Anda menggunakan listener dalam Ingress tanpa membuat listener yang sesuai di AlbConfig. | Jika Anda menggunakan controller ALB Ingress V2.11.0 atau versi lebih baru, Anda harus membuat listener yang diperlukan untuk sumber daya Ingress di AlbConfig. Untuk informasi selengkapnya, lihat Mengonfigurasi listener ALB menggunakan AlbConfig. |
Pendengar tidak ditemukan untuk (80/HTTP), dengan ingresses 1 | Pada controller ALB Ingress V2.11.0 dan versi lebih baru, kesalahan ini terjadi jika Anda menghapus listener dari AlbConfig yang masih terkait dengan suatu Ingress. Pesan kesalahan menampilkan listener yang hilang dan jumlah Ingress yang terkait. | Untuk menghapus listener, Anda harus terlebih dahulu menghapus semua Ingress yang terkait dengannya. Penting Jika Anda menghapus listener secara tidak sengaja, tambahkan kembali. |
no certificate found for host | TLS diaktifkan dan fitur penemuan otomatis sertifikat digunakan untuk nama domain, tetapi tidak ditemukan sertifikat yang tersedia untuk nama domain tersebut di Layanan Manajemen Sertifikat. |
|
The param Rules.1.RuleConditions.2.PathConfig.Values.1 is illegal | Aturan pengalihan berisi parameter path yang tidak valid. |
|
The param ServerGroupName is illegal | Nama grup server backend ALB memiliki format yang tidak valid. | Pastikan grup server diberi nama dengan format yang benar. Nama grup server dihasilkan dalam format |
Resource sgp-vz2fb219vv792flx3u yang ditentukan sedang digunakan | Grup server backend ALB yang dikelola ACK dirujuk oleh instans ALB lain. | Login ke Konsol Application Load Balancer (ALB). Di panel navigasi sebelah kiri, pilih . Di halaman Server Groups, temukan grup server backend target dan putuskan asosiasi instans ALB sesuai kebutuhan. |
Message: Invalid parameter. Check the parameter input. | Kesalahan ini sering terjadi ketika ID sertifikat dikonfigurasi secara salah saat menentukan sertifikat di AlbConfig. | Verifikasi bahwa ID sertifikat merupakan ID sumber daya, bukan ID numerik. Anda harus menggunakan ID sertifikat yang ditentukan oleh CertIdentifier. |
Message: Failed to create SSL Certificate with name default-https-secret-1-b585e6 ({namespace}-{name}-{identity}). Error: The certificate has expired. | Sertifikat Secret telah kedaluwarsa. Nama sertifikat dalam pesan kesalahan terdiri dari tiga bagian:
|
Untuk informasi selengkapnya, lihat Mengonfigurasi sertifikat HTTPS untuk komunikasi terenkripsi. |
failed to createSSLCertificateWithName: XXX ErrorCode: NameRepeat Message: The name is already used. Please enter another name. | Ingress menggunakan sertifikat Secret. Setelah sertifikat kedaluwarsa, jika Anda mengunggah sertifikat baru menggunakan AlbConfig, nama sertifikat kedaluwarsa digunakan kembali. Hal ini menyebabkan duplikasi nama Sertifikat SSL. | |
invalid server group Cookie: |
| Saat menggunakan metode menulis ulang cookie, Anda harus mengonfigurasi nilai cookie: Untuk informasi selengkapnya tentang parameter-parameter tersebut, lihat Menggunakan anotasi untuk menerapkan persistensi sesi. |
| ||
The quota of alb_quota_server_added_num is exceeded for resource eni-xxxx, usage 202/200 | Batas kuota | Buka Pusat Kuota untuk meningkatkan kuota grup server. |
FAQ
Apa yang harus saya lakukan jika perubahan pada ALB Ingress tidak berlaku tetapi tidak ada event anomali yang dilaporkan?
Jika event rekonsiliasi terkait AlbConfig tidak dieksekusi atau event perubahan tidak diproses dengan sukses, masalah tersebut mungkin disebabkan oleh pengikatan yang salah antara IngressClass dan AlbConfig. Untuk informasi selengkapnya, lihat Menggunakan IngressClass untuk mengasosiasikan AlbConfig dengan Ingress. Verifikasi bahwa parameter spec.parameters yang ditentukan di IngressClass diasosiasikan dengan nama objek sumber daya AlbConfig yang benar.