View a markdown version of this page

Pilih jenis instans node Amazon EC2 yang optimal - Amazon EKS

Bantu meningkatkan 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 GitHub tautan Edit halaman ini di 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 AMI Amazon EC2 untuk mengaktifkan dukungan. Untuk memastikan bahwa jenis instans yang Anda pilih kompatibel dengan Amazon EKS, pertimbangkan kriteria berikut.

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

  • AMI Amazon EKS berlengan dan non-akselerasi tidak mendukungg3,, g4inf, dan p keluarga.

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

  • Untuk Arm-based contoh, Amazon Linux 2023 (AL2023) hanya mendukung jenis instance 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 berikut dari setiap jenis.

Jumlah instance dalam grup node

Secara umum, lebih sedikit contoh yang 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 pada cluster EKS.

Arsitektur perangkat keras

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

Jumlah maksimum Pod

Karena setiap Pod diberi alamat IP-nya sendiri, jumlah alamat IP yang didukung oleh jenis instance merupakan faktor dalam menentukan jumlah Pod yang dapat berjalan pada instance. Untuk memahami bagaimana jumlah maksimum Pod ditentukan untuk jenis instans, lihatBagaimana MaxPods ditentukan.

AWS Jenis instance Nitro System secara opsional mendukung lebih banyak alamat IP daripada tipe instance non-Nitro System. 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 menginstal add-on Amazon VPC CNI versi 1.9.0 atau yang lebih baru 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 menginstal add-on Amazon VPC CNI versi 1.10.1 atau yang lebih baru di cluster Anda dan menyebarkan cluster bersama keluarga. IPv6

Keluarga IP

Anda dapat menggunakan jenis instans yang didukung saat menggunakan IPv4 keluarga untuk cluster, yang memungkinkan cluster 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 instans Windows. Cluster Anda harus menjalankan add-on Amazon VPC CNI versi 1.10.1 atau yang lebih baru. Untuk informasi selengkapnya tentang penggunaan IPv6, lihat Pelajari tentang alamat IPv6 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. https://github.com/aws/amazon-vpc-cni-k8s/blob/master/pkg/vpc/vpc_ip_resource_limit.go Anda mungkin perlu memperbarui versi add-on Amazon VPC CNI untuk memanfaatkan jenis instans terbaru yang didukung. Untuk informasi selengkapnya, lihat Tetapkan IP 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 pada. GitHub

AWS Wilayah tempat Anda membuat node

Tidak semua jenis instans tersedia di semua Wil AWS ayah.

Apakah Anda menggunakan grup keamanan untuk Pod

Jika Anda menggunakan grup keamanan untuk Pod, hanya jenis instans 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 khusus, Amazon EKS memberlakukan maxPods batasan pada data pengguna node. Untuk contoh dengan kurang dari 30 vCPU, tutupnya adalah110. Untuk contoh dengan lebih dari 30 vCPU, tutupnya adalah250. Nilai ini diutamakan daripada maxPods konfigurasi lainnya, termasukmaxPodsExpression.

  2. maxPodskonfigurasi kubelet — Jika Anda menyetel maxPods langsung di konfigurasi kubelet (misalnya, melalui template peluncuran dengan AMI khusus), nilai ini lebih diutamakan. maxPodsExpression

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

  4. ENI-based Perhitungan default — Jika tidak ada nilai lain yang ditetapkan, AMI menghitung maxPods berdasarkan jumlah antarmuka jaringan elastis dan alamat IP yang didukung oleh jenis instance. 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 maxPodsExpression di grup node terkelolaNodeConfig, penegakan grup node terkelola menggantikan ekspresi Anda. Untuk menggunakan maxPods nilai kustom dengan grup node terkelola, Anda harus menentukan AMI kustom di template peluncuran Anda dan mengatur maxPods secara langsung. Untuk informasi selengkapnya, lihat Sesuaikan node terkelola dengan templat peluncuran.

Grup node 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.

  • Apa pun maxPodsExpression yang Anda konfigurasikan diganti oleh nilai yang disuntikkan ini.

  • Untuk menggunakan maxPods nilai yang berbeda, tentukan AMI khusus di template peluncuran Anda --use-max-pods false dan berikan --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 meneruskan --max-pods langsung kebootstrap.sh.

Pertimbangan untuk Mode Otomatis EKS

Mode Otomatis EKS membatasi jumlah pod pada node ke bawah dari:

  • Tutup keras 110 pod

  • number of ENIs × (IPs per ENI − 1)