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 di host Windows diberi alamat IP sekunder oleh pengontrol sumber daya VPC secara
Untuk meningkatkan kepadatan pod pada host Windows, terutama saat menggunakan jenis instance yang lebih kecil, Anda dapat mengaktifkan Prefix Delegation untuk node Windows. Ketika delegasi awalan diaktifkan, awalan /28 IPv4 ditetapkan ke slot ENI bukan 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.
Silakan 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 instance 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, node hanya dapat mendukung 9 alamat IP. Lihat dokumentasi tentang alamat IP per antarmuka jaringan per jenis instans dan menetapkan awalan ke antarmuka jaringan untuk informasi lebih lanjut.
Selama inisialisasi node pekerja, VPC Resource Controller menetapkan satu atau lebih awalan ke ENI utama 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 peta amazon-vpc-cni 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 setiap saat. -
warm-ip-targetand/orminimum-ip-targetjika set akan diganti.warm-prefix-target
Karena lebih banyak Pod dijadwalkan pada node, awalan tambahan akan diminta untuk ENI yang ada. Ketika Pod dijadwalkan pada node, VPC Resource Controller pertama-tama akan mencoba menetapkan alamat IPv4 dari awalan yang ada pada node. Jika itu tidak memungkinkan, maka awalan IPv4 baru akan diminta selama subnet memiliki kapasitas yang diperlukan.
Gambar: Alur kerja selama penugasan alamat IPv4 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 detail reservasi Subnet.
Secara default, node max-pods pada Windows diatur ke110. Untuk sebagian besar jenis contoh, ini harus 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 diproduksi 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 penurunan latensi Pod 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 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 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 oleh 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, mencadangkan ruang untuk awalan, dan mengaktifkan penetapan awalan untuk node pekerja yang berjalan di subnet tersebut. Jika subnet baru didedikasikan hanya untuk Pod yang berjalan di cluster 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 node yang dikelola sendiri, langkah-langkah untuk transisi adalah:
-
Tingkatkan kapasitas di cluster Anda sehingga node baru akan dapat mengakomodasi beban kerja Anda
-
Enable/Disable fitur Delegasi Awalan untuk Windows
-
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. -
Setelah Anda mengonfirmasi bahwa Pod sedang berjalan, Anda dapat menghapus node lama dan grup node. Pod pada node baru akan diberi alamat IPv4 dari awalan yang ditetapkan ke node ENI.
Saat menggunakan grup node terkelola, langkah-langkah untuk transisi adalah:
-
Enable/Disable 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 node dalam mode yang sama
Untuk Windows, sebaiknya hindari 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 ini tidak akan memengaruhi Pod Anda yang sedang berjalan, mungkin ada inkonsistensi sehubungan dengan kapasitas alamat IP node. Misalnya, pertimbangkan bahwa node t3.xlarge yang memiliki 14 slot untuk alamat IPv4 sekunder. 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 tersisa * 16 alamat per awalan) 64. Ketidakkonsistenan antara jumlah kapasitas yang diiklankan dan jumlah kapasitas aktual (slot yang tersisa) dapat menyebabkan masalah jika Anda menjalankan lebih banyak Pod daripada alamat IP yang tersedia untuk penugasan.
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 IP dalam jangkauannya tidak lagi dialokasikan ke pod. Jika ada IP dari awalan yang ditetapkan ke pod maka awalan itu akan disimpan sampai pod dihentikan.
Masalah Debugging dengan Delegasi Awalan
Anda dapat menggunakan panduan debugging kami di sini