Pilih jenis instans node Amazon EC2 yang optimal - Amazon EKS

Bantu tingkatkan halaman ini

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

Untuk berkontribusi pada panduan pengguna ini, pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman.

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

Pilih jenis instans node Amazon EC2 yang optimal

Amazon EC2 menyediakan berbagai pilihan jenis instans untuk node pekerja. Setiap jenis instans menawarkan kemampuan komputasi, memori, penyimpanan, dan jaringan yang berbeda. Setiap instance juga dikelompokkan dalam keluarga instance berdasarkan kemampuan ini. Untuk daftar, lihat Jenis instans yang tersedia di Panduan Pengguna Amazon EC2. Amazon EKS merilis beberapa variasi Amazon EC2 AMIs untuk mengaktifkan dukungan. Untuk memastikan bahwa jenis instans yang Anda pilih kompatibel dengan Amazon EKS, pertimbangkan kriteria berikut.

  • Semua Amazon EKS saat ini AMIs tidak mendukung mac keluarga.

  • Amazon EKS lengan dan non-akselerasi AMIs tidak mendukungg3,g4,inf, dan p keluarga.

  • Amazon EKS yang dipercepat AMIs tidak mendukunga,c,hpc,m, dan t keluarga.

  • Untuk instans berbasis ARM, Amazon Linux 2023 (AL2023) hanya mendukung jenis instans yang menggunakan prosesor Graviton2 atau yang lebih baru. AL2023 tidak mendukung A1 instance.

Saat memilih di antara jenis instans yang didukung oleh Amazon EKS, pertimbangkan kemampuan masing-masing jenis berikut.

Jumlah instance dalam grup node

Secara umum, instance yang lebih sedikit dan lebih besar lebih baik, terutama jika Anda memiliki banyak Daemonset. Setiap instance memerlukan panggilan API ke server API, jadi semakin banyak instance yang Anda miliki, semakin banyak beban di server API.

Sistem operasi

Tinjau jenis instans yang didukung untuk Linux, Windows, dan Bottlerocket. Sebelum membuat instance Windows, tinjau Deploy node Windows di kluster EKS.

Arsitektur perangkat keras

Apakah Anda membutuhkan x86 atau Arm? Sebelum menerapkan instance Arm, tinjau Arm Amazon Linux yang dioptimalkan oleh Amazon EKS. AMIs Apakah Anda memerlukan instance yang dibangun di atas Sistem Nitro (Linux atau Windows) atau yang memiliki kemampuan Akselerasi? Jika Anda membutuhkan kemampuan yang dipercepat, Anda hanya dapat menggunakan Linux dengan Amazon EKS.

Jumlah maksimum Pod

Karena setiap Pod diberi alamat IP sendiri, jumlah alamat IP yang didukung oleh tipe instance merupakan faktor dalam menentukan jumlah Pod yang dapat dijalankan pada instance. Untuk menentukan secara manual berapa banyak Pod yang didukung oleh tipe instance, lihat.

AWS Jenis instans Sistem Nitro secara opsional mendukung lebih banyak alamat IP daripada jenis instans Sistem non-Nitro. Namun, tidak semua alamat IP yang ditetapkan untuk sebuah instance tersedia untuk Pod. Untuk menetapkan jumlah alamat IP yang jauh lebih besar ke instans Anda, Anda harus memiliki versi 1.9.0 atau yang lebih baru dari add-on Amazon VPC CNI yang diinstal di cluster Anda dan dikonfigurasi dengan tepat. Untuk informasi selengkapnya, lihat Tetapkan lebih banyak alamat IP ke node Amazon EKS dengan awalan. Untuk menetapkan jumlah alamat IP terbesar ke instans Anda, Anda harus memiliki versi 1.10.1 atau yang lebih baru dari add-on Amazon VPC CNI yang diinstal di cluster Anda dan menyebarkan cluster dengan keluarga. IPv6

Keluarga IP

Anda dapat menggunakan jenis instans apa pun yang didukung saat menggunakan IPv4 keluarga untuk klaster, yang memungkinkan klaster Anda menetapkan IPv4 alamat pribadi ke Pod dan Layanan Anda. Tetapi jika Anda ingin menggunakan IPv6 keluarga untuk cluster Anda, maka Anda harus menggunakan jenis instance AWS Nitro System atau tipe instance bare metal. Hanya IPv4 didukung untuk instance Windows. Cluster Anda harus menjalankan versi 1.10.1 atau yang lebih baru dari add-on Amazon VPC CNI. Untuk informasi selengkapnya tentang penggunaan IPv6, lihat Pelajari tentang IPv6 alamat ke klaster, Pod, dan layanan.

Versi add-on Amazon VPC CNI yang Anda jalankan

Versi terbaru plugin Amazon VPC CNI untuk Kubernetes mendukung jenis instans ini. Anda mungkin perlu memperbarui versi add-on Amazon VPC CNI untuk memanfaatkan jenis instans terbaru yang didukung. Untuk informasi selengkapnya, lihat Tetapkan IPs ke Pod dengan Amazon VPC CNI. Versi terbaru mendukung fitur terbaru untuk digunakan dengan Amazon EKS. Versi sebelumnya tidak mendukung semua fitur. Anda dapat melihat fitur yang didukung oleh versi yang berbeda di Changelog aktif. GitHub

AWS Wilayah tempat Anda membuat node

Tidak semua tipe instans tersedia di semua AWS Wilayah.

Apakah Anda menggunakan grup keamanan untuk Pod

Jika Anda menggunakan grup keamanan untuk Pod, hanya tipe instance tertentu yang didukung. Untuk informasi selengkapnya, lihat Menetapkan grup keamanan ke Pod individual.

Bagaimana MaxPods ditentukan

maxPodsNilai akhir yang diterapkan pada node tergantung pada beberapa komponen yang berinteraksi dalam urutan prioritas tertentu. Memahami urutan ini membantu Anda menghindari perilaku tak terduga saat menyesuaikanmaxPods.

Urutan prioritas (tertinggi ke terendah):

  1. Penegakan grup node terkelola — Saat Anda menggunakan grup node terkelola tanpa AMI kustom, Amazon EKS memberlakukan batasan maxPods pada data pengguna node. Untuk contoh dengan kurang dari 30 vCPUs, tutupnya adalah110. Untuk contoh dengan lebih besar dari 30 vCPUs, tutupnya adalah250. Nilai ini lebih diutamakan daripada maxPods konfigurasi lainnya, termasuk. maxPodsExpression

  2. maxPodskonfigurasi kubelet - Jika Anda mengatur maxPods secara langsung dalam konfigurasi kubelet (misalnya, melalui template peluncuran dengan AMI kustom), nilai ini lebih diutamakan. maxPodsExpression

  3. nodeadm maxPodsExpression — Jika Anda menggunakan maxPodsExpressiondalam AndaNodeConfig, nodeadm mengevaluasi ekspresi untuk menghitung. maxPods Ini hanya efektif jika nilainya belum ditetapkan oleh sumber prioritas yang lebih tinggi.

  4. Perhitungan berbasis ENI default - Jika tidak ada nilai lain yang ditetapkan, AMI menghitung maxPods berdasarkan jumlah antarmuka jaringan elastis dan alamat IP yang didukung oleh jenis instans. Ini setara dengan rumus(number of ENIs × (IPs per ENI − 1)) + 2. + 2Akun untuk Amazon VPC CNI dan kube-proxy berjalan di setiap node, yang tidak menggunakan alamat IP Pod.

penting

Jika Anda menggunakan grup node terkelola dan disetel maxPodsExpressionNodeConfig, penegakan grup node terkelola akan mengesampingkan ekspresi Anda. Untuk menggunakan maxPods nilai kustom dengan grup node terkelola, Anda harus menentukan AMI kustom di template peluncuran dan menyetelnya maxPods secara langsung. Untuk informasi selengkapnya, lihat Sesuaikan node terkelola dengan templat peluncuran.

Grup simpul terkelola vs. node yang dikelola sendiri

Dengan grup node terkelola (tanpa AMI khusus), Amazon EKS menyuntikkan maxPods nilai ke dalam data pengguna bootstrap node. Ini berarti:

  • maxPodsNilai selalu dibatasi pada 110 atau 250 tergantung pada ukuran instance.

  • Setiap yang maxPodsExpression Anda konfigurasikan akan diganti oleh nilai yang disuntikkan ini.

  • Untuk menggunakan maxPods nilai yang berbeda, tentukan AMI kustom di template peluncuran Anda dan --use-max-pods false teruskan --kubelet-extra-args '--max-pods=my-value' ke bootstrap.sh skrip. Sebagai contoh, lihat Sesuaikan node terkelola dengan templat peluncuran.

Dengan node yang dikelola sendiri, Anda memiliki kontrol penuh atas proses bootstrap. Anda dapat menggunakan maxPodsExpression di Anda NodeConfig atau lulus --max-pods langsung kebootstrap.sh.

Pertimbangan untuk Mode Otomatis EKS

Mode Otomatis EKS membatasi jumlah pod pada node ke yang lebih rendah dari:

  • 110 polong tutup keras

  • Hasil perhitungan pod maks yang dijelaskan di atas.