Rute lalu lintas internet dengan AWS Load Balancer Controller - Amazon EKS

Bantu tingkatkan halaman ini

Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.

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

Rute lalu lintas internet dengan AWS Load Balancer Controller

Bagian AWS Load Balancer Controller mengelola AWS Elastic Load Balancer untuk a Kubernetes klaster. Anda dapat menggunakan controller untuk mengekspos aplikasi cluster Anda ke internet. Pengontrol menyediakan penyeimbang AWS beban yang mengarah ke sumber daya Layanan atau Ingress cluster. Dengan kata lain, controller membuat satu alamat IP atau DNS nama yang menunjuk ke beberapa pod di cluster Anda.

Diagram arsitektur. Ilustrasi lalu lintas yang berasal dari pengguna internet, ke Amazon Load Balancer. Amazon Load Balancer mendistribusikan lalu lintas ke pod di cluster.

Pengontrol jam tangan untuk Kubernetes Ingress atau Service sumber daya. Sebagai tanggapan, ini menciptakan sumber daya AWS Elastic Load Balancing yang sesuai. Anda dapat mengonfigurasi perilaku spesifik penyeimbang beban dengan menerapkan anotasi ke Kubernetes sumber daya. Misalnya, Anda dapat melampirkan grup AWS keamanan ke load balancer menggunakan anotasi.

Pengontrol menyediakan sumber daya berikut:

Kubernetes Ingress

LBCMembuat AWS Application Load Balancer (ALB) saat Anda membuat Kubernetes Ingress. Tinjau anotasi yang dapat Anda terapkan ke sumber daya Ingress.

Kubernetes layanan dari LoadBalancer jenis

LBCMembuat AWS Network Load Balancer (NLB) saat Anda membuat Kubernetes layanan jenisLoadBalancer. Tinjau anotasi yang dapat Anda terapkan ke sumber daya Layanan.

Di masa lalu, Kubernetes network load balancer digunakan untuk target misalnya, tetapi LBC digunakan untuk target IP. Dengan AWS Load Balancer Controller versi 2.3.0 atau yang lebih baru, Anda dapat membuat NLBs menggunakan salah satu jenis target. Untuk informasi selengkapnya tentang jenis NLB target, lihat Jenis target di Panduan Pengguna untuk Penyeimbang Beban Jaringan.

Pengontrol adalah proyek sumber terbuka yang dikelola pada GitHub.

Sebelum menerapkan pengontrol, kami sarankan Anda meninjau prasyarat dan pertimbangan di dan. Aplikasi rute dan HTTP Lalu lintas dengan Application Load Balancers Rute TCP and UDP Lalu lintas dengan Network Load Balancers Dalam topik tersebut, Anda akan menerapkan aplikasi sampel yang menyertakan penyeimbang AWS beban.

Instal pengontrol

Anda dapat menggunakan salah satu prosedur berikut untuk menginstal AWS Load Balancer Controller:

Migrasi dari versi pengontrol yang tidak digunakan lagi

  • Jika Anda memiliki versi usang dari AWS Load Balancer Controller diinstal, pelajari cara melakukannyaMigrasikan aplikasi dari usang AWSIngress Controller.

  • Versi usang tidak dapat ditingkatkan. Mereka harus dihapus dan versi saat ini dari AWS Load Balancer Controller diinstal.

  • Versi usang meliputi:

    • AWS ALBIngress Controller untuk Kubernetes (“Ingress Controller”), pendahulu dari AWS Load Balancer Controller.

    • 0.1.xVersi apa pun dari AWS Load Balancer Controller

Penyedia cloud lama

Kubernetes termasuk penyedia cloud lama untuk AWS. Penyedia cloud lama mampu menyediakan penyeimbang AWS beban, mirip dengan AWS Load Balancer Controller. Penyedia cloud lama membuat Classic Load Balancer. Jika Anda tidak menginstal AWS Load Balancer Controller, Kubernetes akan default menggunakan penyedia cloud lama. Anda harus menginstal AWS Load Balancer Controller dan hindari menggunakan penyedia cloud lama.

penting

Dalam versi 2.5 dan yang lebih baru, AWS Load Balancer Controller menjadi pengontrol default untuk Kubernetes sumber daya layanan dengan type: LoadBalancer dan membuat AWS Network Load Balancer (NLB) untuk setiap layanan. Ini dilakukan dengan membuat webhook yang bermutasi untuk layanan, yang menetapkan spec.loadBalancerClass bidang service.k8s.aws/nlb untuk layanan baru. type: LoadBalancer Anda dapat menonaktifkan fitur ini dan kembali menggunakan Cloud Provider lama sebagai pengontrol default, dengan menyetel nilai bagan helm ke. enableServiceMutatorWebhook false Cluster tidak akan menyediakan Classic Load Balancer baru untuk layanan Anda kecuali Anda menonaktifkan fitur ini. Classic Load Balancer yang ada akan terus bekerja.