Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mode Awalan untuk Windows
Di Amazon EKS, setiap Pod yang berjalan pada host Windows diberi alamat IP sekunder oleh pengontrol sumber daya VPC
Untuk meningkatkan kepadatan pod pada host Windows, terutama saat menggunakan tipe instans yang lebih kecil, Anda dapat mengaktifkan Delegasi Awalan untuk node Windows. Ketika delegasi awalan diaktifkan, IPv4 awalan /28 ditetapkan ke slot ENI daripada alamat IP sekunder. Delegasi awalan dapat diaktifkan dengan menambahkan enable-windows-prefix-delegation: "true"
entri ke peta amazon-vpc-cni
konfigurasi. Ini adalah peta konfigurasi yang sama di mana Anda perlu mengatur enable-windows-ipam: "true"
entri untuk mengaktifkan dukungan Windows.
Ikuti petunjuk yang disebutkan dalam panduan pengguna EKS untuk mengaktifkan mode Delegasi Awalan untuk node Windows.

Gambar: Perbandingan mode IP Sekunder dengan mode Delegasi Awalan
Jumlah maksimum alamat IP yang dapat Anda tetapkan ke antarmuka jaringan tergantung pada jenis instans dan ukurannya. Setiap awalan yang ditetapkan ke antarmuka jaringan mengkonsumsi slot yang tersedia. Misalnya, sebuah c5.large
instance memiliki batas 10
slot per antarmuka jaringan. Slot pertama pada antarmuka jaringan selalu dikonsumsi oleh alamat IP utama antarmuka, meninggalkan Anda dengan 9 slot untuk awalan alamat IP and/or sekunder. Jika slot ini diberi awalan, node dapat mendukung (9 * 16) 144 alamat IP sedangkan jika mereka diberi alamat IP sekunder hanya dapat mendukung 9 alamat IP. Lihat dokumentasi alamat IP per antarmuka jaringan per jenis instans dan tetapkan awalan ke antarmuka jaringan untuk informasi lebih lanjut.
Selama inisialisasi node pekerja, VPC Resource Controller memberikan satu atau lebih awalan ke ENI primer untuk startup pod yang lebih cepat dengan mempertahankan kumpulan alamat IP yang hangat. Jumlah awalan yang akan disimpan di kolam hangat dapat dikontrol dengan mengatur parameter konfigurasi berikut di amazon-vpc-cni
peta konfigurasi.
-
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 kapan saja. -
warm-ip-target
and/orminimum-ip-target
jika set akan menimpawarm-prefix-target
.
Karena semakin banyak Pod yang dijadwalkan pada node, prefiks tambahan akan diminta untuk ENI yang ada. Ketika sebuah Pod dijadwalkan pada node, VPC Resource Controller pertama-tama akan mencoba untuk menetapkan IPv4 alamat dari prefiks yang ada pada node. Jika itu tidak memungkinkan, maka IPv4 awalan baru akan diminta selama subnet memiliki kapasitas yang diperlukan.

Gambar: Alur kerja selama penetapan IPv4 alamat ke Pod
Rekomendasi
Gunakan Delegasi Awalan saat
Gunakan delegasi awalan jika Anda mengalami masalah kepadatan Pod pada node pekerja. Untuk menghindari kesalahan, sebaiknya periksa 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 rincian reservasi Subnet.
Secara default, node max-pods
pada Windows diatur ke110
. Untuk sebagian besar jenis instance, ini sudah cukup. Jika Anda ingin menambah atau mengurangi batas ini, tambahkan yang berikut ini ke perintah bootstrap di data pengguna Anda:
-KubeletExtraArgs '--max-pods=example-value'
Untuk detail lebih lanjut tentang parameter konfigurasi bootstrap untuk node Windows, silakan kunjungi dokumentasi di sini.
Hindari Delegasi 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 dihasilkan terfragmentasi (subnet yang banyak digunakan dengan alamat IP sekunder yang tersebar). Masalah ini dapat dihindari dengan membuat subnet baru dan memesan awalan.
Konfigurasikan parameter untuk delegasi awalan untuk menghemat alamat IPv4
warm-prefix-target
,warm-ip-target
, dan minimum-ip-target
dapat digunakan untuk menyempurnakan perilaku pra-penskalaan dan penskalaan dinamis dengan awalan. Secara default, nilai-nilai berikut digunakan:
warm-ip-target: "1" minimum-ip-target: "3"
Dengan menyempurnakan parameter konfigurasi ini, Anda dapat mencapai keseimbangan optimal dalam melestarikan alamat IP dan memastikan latensi Pod menurun karena penetapan alamat IP. Untuk informasi lebih lanjut tentang parameter konfigurasi ini, kunjungi dokumentasi di sini
Gunakan Reservasi Subnet untuk Menghindari Fragmentasi Subnet () IPv4
Ketika EC2 mengalokasikan IPv4 awalan /28 ke ENI, itu harus berupa 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 peristiwa node berikut:
InsufficientCidrBlocks: The specified subnet does not have enough free cidr blocks to satisfy the request
Untuk menghindari fragmentasi dan memiliki ruang berdekatan yang cukup untuk membuat awalan, gunakan reservasi VPC Subnet CIDR untuk memesan ruang IP dalam subnet untuk penggunaan eksklusif dengan awalan. Setelah Anda membuat reservasi, alamat IP dari blok yang dicadangkan tidak akan ditetapkan ke sumber daya lain. Dengan begitu, VPC Resource Controller akan bisa mendapatkan awalan yang tersedia selama panggilan penugasan ke node ENI.
Disarankan untuk membuat subnet baru, ruang cadangan untuk awalan, dan mengaktifkan penetapan awalan untuk node pekerja yang berjalan di subnet tersebut. Jika subnet baru hanya didedikasikan untuk Pod yang berjalan di klaster EKS Anda dengan delegasi awalan diaktifkan, maka Anda dapat melewati langkah reservasi awalan.
Ganti semua node saat bermigrasi dari mode IP Sekunder ke mode Delegasi Awalan atau sebaliknya
Sangat disarankan agar Anda membuat grup node baru untuk meningkatkan jumlah alamat IP yang tersedia daripada melakukan penggantian bergulir node pekerja yang ada.
Saat menggunakan grup simpul yang dikelola sendiri, langkah-langkah untuk transisi adalah:
-
Tingkatkan kapasitas di klaster Anda sehingga node baru dapat mengakomodasi beban kerja Anda
-
Aktifkan/Nonaktifkan fitur Delegasi Awalan untuk Windows
-
Cordon dan tiriskan semua node yang ada untuk mengusir semua Pod yang ada dengan aman. Untuk mencegah gangguan layanan, kami sarankan untuk menerapkan Anggaran Gangguan Pod
pada klaster produksi Anda untuk beban kerja yang kritis. -
Setelah Anda mengonfirmasi bahwa Pod sedang berjalan, Anda dapat menghapus node lama dan grup node. Pod pada node baru akan diberi IPv4 alamat dari awalan yang ditetapkan ke node ENI.
Saat menggunakan grup simpul terkelola, langkah-langkah untuk transisi adalah:
-
Aktifkan/Nonaktifkan fitur Delegasi Awalan untuk Windows
-
Perbarui grup node menggunakan langkah-langkah yang disebutkan di sini. Ini melakukan langkah-langkah serupa seperti di atas tetapi dikelola oleh EKS.
Awas
Jalankan semua Pod pada sebuah node dalam mode yang sama
Untuk Windows, kami menyarankan agar Anda menghindari menjalankan Pod dalam mode IP sekunder dan mode delegasi awalan secara bersamaan. Situasi seperti itu dapat muncul ketika Anda bermigrasi dari mode IP sekunder ke mode delegasi awalan atau sebaliknya dengan menjalankan beban kerja Windows.
Meskipun hal ini tidak akan memengaruhi Pod yang sedang berjalan, mungkin ada ketidakkonsistenan sehubungan dengan kapasitas alamat IP node. Misalnya, pertimbangkan bahwa node t3.xlarge yang memiliki 14 slot untuk alamat sekunder. IPv4 Jika Anda menjalankan 10 Pod, maka 10 slot pada ENI akan dikonsumsi oleh alamat IP sekunder. Setelah Anda mengaktifkan delegasi awalan, kapasitas yang diiklankan ke server kube-api adalah (14 slot * 16 alamat ip per awalan) 244 tetapi kapasitas sebenarnya pada saat itu adalah (4 slot yang tersisa * 16 alamat per awalan) 64. Ketidakkonsistenan antara jumlah kapasitas yang diiklankan dan jumlah kapasitas aktual (slot yang tersisa) ini dapat menyebabkan masalah jika Anda menjalankan lebih banyak Pod daripada alamat IP yang tersedia untuk penetapan.
Karena itu, Anda dapat menggunakan strategi migrasi seperti yang dijelaskan di atas untuk mentransisikan Pod Anda dengan aman dari alamat IP sekunder ke alamat yang diperoleh dari awalan. Saat beralih di antara mode, Pod akan terus berjalan normal dan:
-
Saat beralih dari mode IP sekunder ke mode delegasi awalan, alamat IP sekunder yang ditetapkan ke pod yang sedang berjalan tidak akan dirilis. Awalan akan ditetapkan ke slot gratis. Setelah pod dihentikan, IP sekunder dan slot yang digunakannya akan dirilis.
-
Saat beralih dari mode delegasi awalan ke mode IP sekunder, awalan akan dirilis ketika semua yang berada IPs dalam jangkauannya tidak lagi dialokasikan ke pod. Jika ada IP dari awalan yang ditetapkan ke sebuah pod maka prefiks tersebut akan disimpan sampai pod dihentikan.
Masalah Debugging dengan Delegasi Awalan
Anda dapat menggunakan panduan debugging kami di sini