Pilih preferensi cookie Anda

Kami menggunakan cookie penting serta alat serupa yang diperlukan untuk menyediakan situs dan layanan. Kami menggunakan cookie performa untuk mengumpulkan statistik anonim sehingga kami dapat memahami cara pelanggan menggunakan situs dan melakukan perbaikan. Cookie penting tidak dapat dinonaktifkan, tetapi Anda dapat mengklik “Kustom” atau “Tolak” untuk menolak cookie performa.

Jika Anda setuju, AWS dan pihak ketiga yang disetujui juga akan menggunakan cookie untuk menyediakan fitur situs yang berguna, mengingat preferensi Anda, dan menampilkan konten yang relevan, termasuk iklan yang relevan. Untuk menerima atau menolak semua cookie yang tidak penting, klik “Terima” atau “Tolak”. Untuk membuat pilihan yang lebih detail, klik “Kustomisasi”.

Tingkatkan alamat IP yang tersedia untuk node Amazon EKS Anda

Mode fokus
Tingkatkan alamat IP yang tersedia untuk node Amazon EKS Anda - 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.

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.

Anda dapat meningkatkan jumlah alamat IP yang dapat ditetapkan node ke Pod dengan menetapkan awalan IP, daripada menetapkan alamat IP sekunder individual ke node Anda.

Prasyarat

  • Anda membutuhkan cluster yang ada. Untuk menyebarkan satu, lihatBuat kluster Amazon EKS.

  • Subnet tempat node Amazon EKS Anda berada harus memiliki blok yang cukup berdekatan /28 (untuk IPv4 cluster) atau (untuk cluster) Classless Inter-Domain IPv6 Routing /80 (CIDR). Anda hanya dapat memiliki node Linux dalam sebuah IPv6 cluster. Menggunakan awalan IP dapat gagal jika alamat IP tersebar di seluruh subnet CIDR. Sebaiknya lakukan hal berikut:

    • Menggunakan reservasi CIDR subnet sehingga meskipun ada alamat IP dalam rentang cadangan masih digunakan, setelah dirilis, alamat IP tidak dipindahkan. Ini memastikan bahwa awalan tersedia untuk alokasi tanpa segmentasi.

    • Gunakan subnet baru yang secara khusus digunakan untuk menjalankan beban kerja yang awalan IP ditetapkan. Beban kerja Windows dan Linux dapat berjalan di subnet yang sama saat menetapkan awalan IP.

  • Untuk menetapkan awalan IP ke node Anda, node Anda harus berbasis Nitro. AWS Instans yang tidak berbasis Nitro terus mengalokasikan alamat IP sekunder individual, tetapi memiliki jumlah alamat IP yang jauh lebih rendah untuk ditetapkan ke Pod daripada instans berbasis Nitro.

  • Untuk cluster dengan node Linux saja - Jika cluster Anda dikonfigurasi untuk IPv4 keluarga, Anda harus memiliki versi 1.9.0 atau yang lebih baru dari plugin Amazon VPC CNI untuk add-on Kubernetes diinstal. Anda dapat memeriksa versi Anda saat ini dengan perintah berikut.

    kubectl describe daemonset aws-node --namespace kube-system | grep Image | cut -d "/" -f 2

    Jika cluster Anda dikonfigurasi untuk IPv6 keluarga, Anda harus menginstal 1.10.1 versi add-on. Jika versi plugin Anda lebih awal dari versi yang diperlukan, Anda harus memperbaruinya. Untuk informasi selengkapnya, lihat bagian update Assign IPs to Pod dengan Amazon VPC CNI.

  • Untuk cluster dengan node Windows saja

    • Cluster Anda dan versi platformnya harus di, atau lebih lambat dari versi dalam tabel berikut. Untuk memutakhirkan versi cluster Anda, lihatPerbarui klaster yang ada ke versi Kubernetes baru. Jika klaster Anda tidak pada versi platform minimum, maka Anda tidak dapat menetapkan awalan IP ke node Anda hingga Amazon EKS memperbarui versi platform Anda.

      Versi Kubernetes Versi platform

      1.27

      eks.3

      1.26

      eks.4

      1.25

      eks.5

      Anda dapat memeriksa Kubernetes dan versi platform Anda saat ini dengan mengganti my-cluster perintah berikut dengan nama cluster Anda dan kemudian menjalankan perintah yang dimodifikasi:. aws eks describe-cluster --name my-cluster --query 'cluster.{"Kubernetes Version": version, "Platform Version": platformVersion}'

    • Anda harus mengaktifkan dukungan Windows untuk cluster Anda. Untuk informasi selengkapnya, lihat Menerapkan node Windows pada kluster EKS.

Tetapkan awalan alamat IP ke node

Konfigurasikan cluster Anda untuk menetapkan awalan alamat IP ke node. Selesaikan prosedur yang cocok dengan sistem operasi node Anda.

Linux

  1. Aktifkan parameter untuk menetapkan awalan ke antarmuka jaringan untuk Amazon VPC CNI. DaemonSet Saat Anda menerapkan klaster 1.21 atau yang lebih baru, versi 1.10.1 atau yang lebih baru dari plugin Amazon VPC CNI untuk add-on Kubernetes akan di-deploy dengannya. Jika Anda membuat cluster dengan IPv6 keluarga, pengaturan ini disetel ke secara true default. Jika Anda membuat cluster dengan IPv4 keluarga, pengaturan ini disetel ke secara false default.

    kubectl set env daemonset aws-node -n kube-system ENABLE_PREFIX_DELEGATION=true
    penting

    Bahkan jika subnet Anda memiliki alamat IP yang tersedia, jika subnet tidak memiliki /28 blok yang berdekatan, Anda akan melihat kesalahan berikut di plugin Amazon VPC CNI untuk log Kubernetes.

    InsufficientCidrBlocks: The specified subnet does not have enough free cidr blocks to satisfy the request

    Hal ini dapat terjadi karena fragmentasi alamat IP sekunder yang ada tersebar di seluruh subnet. Untuk mengatasi kesalahan ini, buat subnet baru dan luncurkan Pod di sana, atau gunakan reservasi CIDR EC2 subnet Amazon untuk memesan ruang di dalam subnet untuk digunakan dengan penetapan awalan. Untuk informasi selengkapnya, lihat Reservasi CIDR Subnet di Panduan Pengguna Amazon VPC.

  2. Jika Anda berencana untuk menerapkan grup node terkelola tanpa template peluncuran, atau dengan template peluncuran yang belum Anda tentukan ID AMI, dan Anda menggunakan versi plugin Amazon VPC CNI untuk Kubernetes pada atau lebih baru dari versi yang tercantum dalam prasyarat, lalu lewati ke langkah berikutnya. Grup node terkelola secara otomatis menghitung jumlah maksimum Pod untuk Anda.

    Jika Anda menerapkan grup node yang dikelola sendiri atau grup node terkelola dengan template peluncuran yang telah Anda tentukan ID AMI, Anda harus menentukan jumlah maksimum Pod yang direkomendasikan Amazon EKS untuk node Anda. Ikuti petunjuk di Amazon EKS Pod maksimum yang direkomendasikan untuk setiap jenis EC2 instans Amazon, tambahkan --cni-prefix-delegation-enabled ke langkah 3. Perhatikan output untuk digunakan di langkah selanjutnya.

    penting

    Grup node terkelola memberlakukan jumlah maksimum pada nilai. maxPods Untuk contoh dengan kurang dari 30 v CPUs jumlah maksimum adalah 110 dan untuk semua contoh lainnya jumlah maksimum adalah 250. Jumlah maksimum ini diterapkan apakah delegasi awalan diaktifkan atau tidak.

  3. Jika Anda menggunakan klaster 1.21 atau yang lebih baru yang dikonfigurasiIPv6, lewati ke langkah berikutnya.

    Tentukan parameter di salah satu opsi berikut. Untuk menentukan opsi mana yang tepat untuk Anda dan nilai apa yang akan diberikan untuknya, lihat WARM_PREFIX_TARGET, WARM_IP_TARGET, dan MINIMUM_IP_TARGET aktif. GitHub

    Anda dapat mengganti example values dengan nilai yang lebih besar dari nol.

    • WARM_PREFIX_TARGET

      kubectl set env ds aws-node -n kube-system WARM_PREFIX_TARGET=1
    • WARM_IP_TARGETatau MINIMUM_IP_TARGET — Jika salah satu nilai ditetapkan, itu akan menggantikan nilai yang ditetapkan untuk. WARM_PREFIX_TARGET

      kubectl set env ds aws-node -n kube-system WARM_IP_TARGET=5
      kubectl set env ds aws-node -n kube-system MINIMUM_IP_TARGET=2
  4. Buat salah satu jenis grup node berikut dengan setidaknya satu jenis instans Amazon EC2 Nitro Amazon Linux 2. Untuk daftar jenis instans Nitro, lihat Instans yang dibangun di Sistem Nitro di Panduan Pengguna Amazon EC2 . Kemampuan ini tidak didukung pada Windows. Untuk opsi yang disertakan110, ganti dengan nilai dari langkah 3 (disarankan), atau nilai Anda sendiri.

    • Dikelola sendiri — Menerapkan grup node menggunakan instruksi di Buat node Amazon Linux yang dikelola sendiri. Tentukan teks berikut untuk BootstrapArgumentsparameter.

      --use-max-pods false --kubelet-extra-args '--max-pods=110'

      Jika Anda menggunakan eksctl untuk membuat grup node, Anda dapat menggunakan perintah berikut.

      eksctl create nodegroup --cluster my-cluster --managed=false --max-pods-per-node 110
    • Dikelola - Terapkan grup node Anda menggunakan salah satu opsi berikut:

      • Tanpa template peluncuran atau dengan template peluncuran tanpa ID AMI yang ditentukan — Selesaikan prosedur di Buat grup node terkelola untuk klaster Anda. Grup node terkelola secara otomatis menghitung max-pods nilai yang direkomendasikan Amazon EKS untuk Anda.

      • Dengan template peluncuran dengan ID AMI tertentu — Dalam template peluncuran Anda, tentukan ID AMI Amazon EKS yang dioptimalkan, atau AMI kustom yang dibuat dari AMI Amazon EKS yang dioptimalkan, lalu terapkan grup node menggunakan template peluncuran dan berikan data pengguna berikut di template peluncuran. Data pengguna ini meneruskan argumen ke dalam bootstrap.sh file. Untuk informasi selengkapnya tentang file bootstrap, lihat bootstrap.sh di GitHub.

        /etc/eks/bootstrap.sh my-cluster \ --use-max-pods false \ --kubelet-extra-args '--max-pods=110'

        Jika Anda menggunakan eksctl untuk membuat grup node, Anda dapat menggunakan perintah berikut.

        eksctl create nodegroup --cluster my-cluster --max-pods-per-node 110

        Jika Anda telah membuat AMI kustom yang tidak dibangun dari AMI Amazon EKS yang dioptimalkan, maka Anda perlu membuat konfigurasi sendiri.

    catatan

    Jika Anda juga ingin menetapkan alamat IP ke Pod dari subnet yang berbeda dari instans, maka Anda perlu mengaktifkan kapabilitas pada langkah ini. Untuk informasi selengkapnya, lihat Menerapkan Pod di subnet alternatif dengan jaringan khusus.

Windows

  1. Aktifkan penugasan awalan IP.

    1. Buka amazon-vpc-cni ConfigMap untuk mengedit.

      kubectl edit configmap -n kube-system amazon-vpc-cni -o yaml
    2. Tambahkan baris berikut ke data bagian.

      enable-windows-prefix-delegation: "true"
    3. Simpan file dan tutup editor.

    4. Konfirmasikan bahwa baris telah ditambahkan keConfigMap.

      kubectl get configmap -n kube-system amazon-vpc-cni -o "jsonpath={.data.enable-windows-prefix-delegation}"

      Jika output yang dikembalikan tidaktrue, maka mungkin ada kesalahan. Coba selesaikan langkahnya lagi.

      penting

      Bahkan jika subnet Anda memiliki alamat IP yang tersedia, jika subnet tidak memiliki /28 blok yang berdekatan, Anda akan melihat kesalahan berikut di plugin Amazon VPC CNI untuk log Kubernetes.

      InsufficientCidrBlocks: The specified subnet does not have enough free cidr blocks to satisfy the request

      Hal ini dapat terjadi karena fragmentasi alamat IP sekunder yang ada tersebar di seluruh subnet. Untuk mengatasi kesalahan ini, buat subnet baru dan luncurkan Pod di sana, atau gunakan reservasi CIDR EC2 subnet Amazon untuk memesan ruang di dalam subnet untuk digunakan dengan penetapan awalan. Untuk informasi selengkapnya, lihat Reservasi CIDR Subnet di Panduan Pengguna Amazon VPC.

  2. (Opsional) Tentukan konfigurasi tambahan untuk mengontrol perilaku pra-penskalaan dan penskalaan dinamis untuk klaster Anda. Untuk informasi selengkapnya, lihat Opsi konfigurasi dengan mode Delegasi Awalan di Windows aktif. GitHub

    1. Buka amazon-vpc-cni ConfigMap untuk mengedit.

      kubectl edit configmap -n kube-system amazon-vpc-cni -o yaml
    2. Ganti example values dengan nilai lebih besar dari nol dan tambahkan entri yang Anda butuhkan ke data bagianConfigMap. Jika Anda menetapkan nilai untuk salah satu warm-ip-target atauminimum-ip-target, nilai akan menggantikan nilai apa pun yang ditetapkan untuk. warm-prefix-target

      warm-prefix-target: "1" warm-ip-target: "5" minimum-ip-target: "2"
    3. Simpan file dan tutup editor.

  3. Buat grup node Windows dengan setidaknya satu jenis instans Amazon EC2 Nitro. Untuk daftar jenis instans Nitro, lihat Instans yang dibangun di Sistem Nitro di Panduan Pengguna Amazon EC2 . Secara default, jumlah maksimum Pod yang dapat Anda deploy ke sebuah node adalah 110. Jika Anda ingin menambah atau mengurangi angka itu, tentukan yang berikut ini dalam data pengguna untuk konfigurasi bootstrap. Ganti max-pods-quantity dengan nilai pod maks Anda.

    -KubeletExtraArgs '--max-pods=max-pods-quantity'

    Jika Anda menerapkan grup node terkelola, konfigurasi ini perlu ditambahkan dalam template peluncuran. Untuk informasi selengkapnya, lihat Sesuaikan node terkelola dengan templat peluncuran. Untuk informasi selengkapnya tentang parameter konfigurasi untuk skrip bootstrap Windows, lihatParameter konfigurasi skrip bootstrap.

Tentukan Pod maksimal dan alamat IP yang tersedia

  1. Setelah node Anda di-deploy, lihat node di cluster Anda.

    kubectl get nodes

    Contoh output adalah sebagai berikut.

    NAME STATUS ROLES AGE VERSION ip-192-168-22-103.region-code.compute.internal Ready <none> 19m v1.XX.X-eks-6b7464 ip-192-168-97-94.region-code.compute.internal Ready <none> 19m v1.XX.X-eks-6b7464
  2. Jelaskan salah satu node untuk menentukan nilai max-pods untuk node dan jumlah alamat IP yang tersedia. Ganti 192.168.30.193 dengan IPv4 alamat atas nama salah satu node Anda yang dikembalikan pada output sebelumnya.

    kubectl describe node ip-192-168-30-193.region-code.compute.internal | grep 'pods\|PrivateIPv4Address'

    Contoh output adalah sebagai berikut.

    pods: 110 vpc.amazonaws.com/PrivateIPv4Address: 144

    Pada output sebelumnya, 110 adalah jumlah maksimum Pod yang Kubernetes akan deploy ke node, meskipun 144 alamat IP tersedia.

PrivasiSyarat situsPreferensi cookie
© 2025, Amazon Web Services, Inc. atau afiliasinya. Semua hak dilindungi undang-undang.