View a markdown version of this page

Mode Awalan untuk Linux - Amazon EKS

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

Mode Awalan untuk Linux

Tip

Jelaj ahi praktik terbaik melalui lokakarya Amazon EKS.

Amazon VPC CNI menetapkan awalan jaringan ke antarmuka jaringan Amazon EC2 untuk meningkatkan jumlah alamat IP yang tersedia untuk node dan meningkatkan kepadatan pod per node. Anda dapat mengonfigurasi add-on Amazon VPC CNI versi 1.9.0 atau yang lebih baru untuk menetapkan CIDR IPv4 dan IPv6 alih-alih menetapkan alamat IP sekunder individual ke antarmuka jaringan.

Mode awalan diaktifkan secara default pada cluster IPv6 dan merupakan satu-satunya opsi yang didukung. VPC CNI menetapkan awalan /80 IPv6 ke slot pada ENI. Silakan merujuk ke bagian IPv6 dari panduan ini untuk informasi lebih lanjut.

Dengan mode penetapan awalan, jumlah maksimum antarmuka jaringan elastis per jenis instans tetap sama, tetapi sekarang Anda dapat mengonfigurasi Amazon VPC CNI untuk menetapkan prefiks alamat IPv4 /28 (16 alamat IP), alih-alih menetapkan alamat IPv4 individual ke slot pada antarmuka jaringan. Ketika ENABLE_PREFIX_DELEGATION disetel ke true VPC CNI mengalokasikan alamat IP ke Pod dari awalan yang ditetapkan ke ENI. Silakan ikuti petunjuk yang disebutkan dalam panduan pengguna EKS untuk mengaktifkan mode IP Prefix.

ilustrasi dua subnet pekerja

Jumlah maksimum alamat IP yang dapat Anda tetapkan ke antarmuka jaringan tergantung pada tipe instans. Setiap prefiks yang Anda tetapkan ke antarmuka jaringan dihitung sebagai satu alamat IP. Misalnya, c5.large instans memiliki batas alamat 10 IPv4 per antarmuka jaringan. Setiap antarmuka jaringan untuk instans ini memiliki alamat IPv4 primer. Jika antarmuka jaringan tidak memiliki alamat IPv4 sekunder, Anda dapat menetapkan hingga 9 prefiks ke antarmuka jaringan. Untuk setiap alamat IPv4 tambahan yang Anda tetapkan ke antarmuka jaringan, Anda dapat menetapkan satu prefiks kurang ke antarmuka jaringan. Tinjau dokumentasi AWS EC2 tentang alamat IP per antarmuka jaringan per jenis instans dan menetapkan awalan ke antarmuka jaringan.

Selama inisialisasi node pekerja, VPC CNI menetapkan satu atau lebih awalan ke ENI primer. CNI melakukan pra-alokasi awalan untuk startup pod yang lebih cepat dengan mempertahankan kolam yang hangat. Jumlah awalan yang akan disimpan di kolam hangat dapat dikontrol dengan mengatur variabel lingkungan.

  • WARM_PREFIX_TARGET, jumlah awalan yang akan dialokasikan melebihi kebutuhan saat ini.

  • WARM_IP_TARGET, jumlah alamat IP yang akan dialokasikan melebihi kebutuhan saat ini.

  • MINIMUM_IP_TARGET, jumlah minimum alamat IP yang tersedia setiap saat.

  • WARM_IP_TARGETdan MINIMUM_IP_TARGET jika set akan diganti. WARM_PREFIX_TARGET

Karena lebih banyak Pod yang dijadwalkan, awalan tambahan akan diminta untuk ENI yang ada. Pertama, VPC CNI mencoba mengalokasikan awalan baru ke ENI yang ada. Jika ENI berada pada kapasitas, VPC CNI mencoba mengalokasikan ENI baru ke node. ENI baru akan dilampirkan sampai batas ENI maksimum (ditentukan oleh jenis instans) tercapai. Ketika ENI baru dilampirkan, ipamd akan mengalokasikan satu atau lebih awalan yang diperlukan untuk mempertahankan pengaturanWARM_PREFIX_TARGET,WARM_IP_TARGET, danMINIMUM_IP_TARGET.

diagram alir prosedur untuk menetapkan IP ke pod

Rekomendasi

Gunakan Mode Awalan saat

Gunakan mode awalan jika Anda mengalami masalah kepadatan Pod pada node pekerja. Untuk menghindari kesalahan VPC CNI, kami sarankan memeriksa subnet untuk blok alamat yang berdekatan untuk awalan /28 sebelum bermigrasi ke mode awalan. Silakan lihat bagian "Gunakan Reservasi Subnet untuk Menghindari Fragmentasi Subnet (IPv4)" untuk detail reservasi Subnet.

Untuk kompatibilitas mundur, batas max-pod diatur untuk mendukung mode IP sekunder. Untuk meningkatkan kepadatan pod, tentukan max-pods nilai ke Kubelet dan --use-max-pods=false sebagai data pengguna untuk node. Untuk informasi selengkapnya, lihat Bagaimana MaxPods ditentukan di Panduan Pengguna Amazon EKS. Lihat panduan pengguna EKS untuk contoh data pengguna.

./max-pods-calculator.sh --instance-type m5.large --cni-version ``1.9``.0 --cni-prefix-delegation-enabled

Mode penetapan awalan sangat relevan untuk pengguna jaringan kustom CNI di mana ENI utama tidak digunakan untuk pod. Dengan penetapan awalan, Anda masih dapat melampirkan lebih banyak IP pada hampir setiap jenis instans Nitro, bahkan tanpa ENI utama yang digunakan untuk pod.

Hindari Mode Awalan saat

Jika subnet Anda sangat terfragmentasi dan tidak memiliki alamat IP yang tersedia untuk membuat awalan /28, hindari menggunakan mode awalan. Lampiran awalan mungkin gagal jika subnet dari mana awalan diproduksi terfragmentasi (subnet yang banyak digunakan dengan alamat IP sekunder yang tersebar). Masalah ini dapat dihindari dengan membuat subnet baru dan memesan awalan.

Dalam mode awalan, grup keamanan yang ditetapkan ke node pekerja dibagikan oleh Pod. Pertimbangkan untuk menggunakan grup Keamanan untuk Pod jika Anda memiliki persyaratan keamanan untuk mencapai kepatuhan dengan menjalankan aplikasi dengan berbagai persyaratan keamanan jaringan pada sumber daya komputasi bersama.

Gunakan Jenis Instans Serupa di Grup Node yang sama

Grup node Anda mungkin berisi instance dari berbagai jenis. Jika sebuah instance memiliki jumlah pod maksimum yang rendah, nilai tersebut diterapkan ke semua node dalam grup node. Pertimbangkan untuk menggunakan jenis instance serupa dalam grup node untuk memaksimalkan penggunaan node. Sebaiknya konfigurasi node.kubernetes. io/instance-ketik bagian persyaratan dari API penyediaan jika Anda menggunakan Karpenter untuk penskalaan node otomatis.

Awas

Jumlah pod maksimum untuk semua node dalam grup node tertentu ditentukan oleh jumlah pod maksimum terendah dari setiap jenis instance tunggal dalam grup node.

Konfigurasikan WARM_PREFIX_TARGET untuk menyimpan alamat IPv4

Nilai default manifes instalasi untuk WARM_PREFIX_TARGET adalah 1. Dalam kebanyakan kasus, nilai yang disarankan 1 for WARM_PREFIX_TARGET akan memberikan campuran yang baik dari waktu peluncuran pod yang cepat sambil meminimalkan alamat IP yang tidak digunakan yang ditetapkan ke instance.

Jika Anda memiliki kebutuhan untuk lebih menghemat alamat IPv4 per penggunaan WARM_IP_TARGET dan MINIMUM_IP_TARGET pengaturan node, yang diganti WARM_PREFIX_TARGET saat dikonfigurasi. Dengan menyetel WARM_IP_TARGET ke nilai kurang dari 16, Anda dapat mencegah CNI menyimpan seluruh awalan berlebih terlampir.

Lebih suka mengalokasikan awalan baru daripada melampirkan ENI baru

Mengalokasikan awalan tambahan ke ENI yang ada adalah operasi API EC2 yang lebih cepat daripada membuat dan melampirkan ENI baru ke instans. Menggunakan awalan meningkatkan kinerja sambil hemat dengan alokasi alamat IPv4. Melampirkan awalan biasanya selesai dalam waktu kurang dari satu detik, sedangkan melampirkan ENI baru dapat memakan waktu hingga 10 detik. Untuk sebagian besar kasus penggunaan, CNI hanya memerlukan satu ENI per node pekerja saat berjalan dalam mode awalan. Jika Anda mampu (dalam kasus terburuk) hingga 15 IP yang tidak digunakan per node, kami sangat menyarankan untuk menggunakan mode jaringan penetapan awalan yang lebih baru, dan menyadari peningkatan kinerja dan efisiensi yang menyertainya.

Gunakan Reservasi Subnet untuk Menghindari Fragmentasi Subnet (IPv4)

Ketika EC2 mengalokasikan awalan /28 IPv4 ke ENI, itu harus menjadi blok alamat IP yang berdekatan dari subnet Anda. Jika subnet tempat awalan dihasilkan terfragmentasi (subnet yang sangat digunakan dengan alamat IP sekunder yang tersebar), lampiran awalan mungkin gagal, dan Anda akan melihat pesan kesalahan berikut di log VPC CNI:

failed to allocate a private IP/Prefix address: InsufficientCidrBlocks: There are not enough free cidr blocks in the specified subnet to satisfy the request.

Untuk menghindari fragmentasi dan memiliki ruang berdekatan yang cukup untuk membuat awalan, Anda dapat menggunakan reservasi VPC Subnet CIDR untuk memesan ruang IP dalam subnet untuk penggunaan eksklusif dengan awalan. Setelah Anda membuat reservasi, plugin VPC CNI akan memanggil API EC2 untuk menetapkan awalan yang dialokasikan secara otomatis dari ruang yang dicadangkan.

Disarankan untuk membuat subnet baru, mencadangkan ruang untuk awalan, dan mengaktifkan penetapan awalan dengan VPC CNI untuk node pekerja yang berjalan di subnet tersebut. Jika subnet baru didedikasikan hanya untuk Pod yang berjalan di cluster EKS Anda dengan penetapan awalan VPC CNI diaktifkan, maka Anda dapat melewati langkah reservasi awalan.

Hindari menurunkan versi VPC CNI

Mode awalan bekerja dengan VPC CNI versi 1.9.0 dan yang lebih baru. Menurunkan add-on Amazon VPC CNI ke versi yang lebih rendah dari 1.9.0 harus dihindari setelah mode awalan diaktifkan dan awalan ditetapkan ke ENI. Anda harus menghapus dan membuat ulang node jika Anda memutuskan untuk menurunkan versi VPC CNI.

Ganti semua node selama transisi ke Delegasi Awalan

Sangat disarankan agar Anda membuat grup node baru untuk meningkatkan jumlah alamat IP yang tersedia daripada melakukan penggantian bergulir node pekerja yang ada. Tutup dan tiriskan semua node yang ada untuk mengusir semua Pod yang ada dengan aman. Untuk mencegah gangguan layanan, kami sarankan menerapkan Ang garan Gangguan Pod pada cluster produksi Anda untuk beban kerja kritis. Pod pada node baru akan diberi IP dari awalan yang ditetapkan ke ENI. Setelah Anda mengonfirmasi bahwa Pod sedang berjalan, Anda dapat menghapus node lama dan grup node. Jika Anda menggunakan grup node terkelola, ikuti langkah-langkah yang disebutkan di sini untuk menghapus grup node dengan aman.