Sesuaikan node terkelola dengan templat peluncuran - 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.

Ingin berkontribusi pada panduan pengguna ini? Gulir ke bagian bawah halaman ini dan pilih Edit halaman ini GitHub. Kontribusi Anda akan membantu membuat panduan pengguna kami lebih baik untuk semua orang.

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

Sesuaikan node terkelola dengan templat peluncuran

Untuk kustomisasi tingkat tertinggi, Anda dapat menerapkan node terkelola menggunakan template peluncuran Anda sendiri. Menggunakan template peluncuran memungkinkan kemampuan seperti berikut:

  • Berikan argumen bootstrap pada penerapan node, seperti argumen kubelet ekstra.

  • Tetapkan alamat IP ke Pods dari CIDR blok yang berbeda dari alamat IP yang ditetapkan ke node.

  • Terapkan kustom Anda sendiri AMI ke node.

  • Terapkan kustom Anda sendiri CNI ke node.

Saat Anda memberikan template peluncuran Anda sendiri saat pertama kali membuat grup node terkelola, Anda juga akan memiliki fleksibilitas yang lebih besar nanti. Selama Anda menerapkan grup node terkelola dengan templat peluncuran Anda sendiri, Anda dapat memperbaruinya secara berulang dengan versi berbeda dari template peluncuran yang sama. Saat Anda memperbarui grup node ke versi template peluncuran yang berbeda, semua node dalam grup didaur ulang agar sesuai dengan konfigurasi baru dari versi template peluncuran yang ditentukan.

Grup node terkelola selalu digunakan dengan template peluncuran untuk digunakan dengan grup Amazon EC2 Auto Scaling. Jika Anda tidak menyediakan template peluncuran, Amazon EKS API membuatnya secara otomatis dengan nilai default di akun Anda. Namun, kami tidak menyarankan Anda memodifikasi templat peluncuran yang dibuat secara otomatis. Selain itu, grup node yang ada yang tidak menggunakan templat peluncuran kustom tidak dapat diperbarui secara langsung. Sebagai gantinya, Anda harus membuat grup node baru dengan template peluncuran khusus untuk melakukannya.

Luncurkan dasar-dasar konfigurasi templat

Anda dapat membuat template peluncuran Amazon EC2 Auto Scaling dengan AWS Management Console, AWS CLI, atau file. AWS SDK Untuk selengkapnya, lihat Membuat Template Peluncuran untuk grup Auto Scaling di Panduan Pengguna Amazon Auto EC2 Scaling. Beberapa pengaturan dalam templat peluncuran mirip dengan pengaturan yang digunakan untuk konfigurasi simpul terkelola. Saat menerapkan atau memperbarui grup node dengan template peluncuran, beberapa pengaturan harus ditentukan baik dalam konfigurasi grup node atau template peluncuran. Jangan tentukan pengaturan di kedua tempat. Jika pengaturan ada di tempat yang seharusnya tidak, maka operasi seperti membuat atau memperbarui grup node gagal.

Tabel berikut mencantumkan pengaturan yang dilarang dalam template peluncuran. Ini juga mencantumkan pengaturan serupa, jika ada yang tersedia, yang diperlukan dalam konfigurasi grup node terkelola. Pengaturan yang tercantum adalah pengaturan yang muncul di konsol. Mereka mungkin memiliki nama yang mirip tetapi berbeda di AWS CLI danSDK.

Peluncuran templat — Dilarang Konfigurasi grup EKS simpul Amazon

Subnet dalam Antarmuka Jaringan (Tambahkan antarmuka jaringan)

Subnet di bawah konfigurasi jaringan grup Node pada halaman Tentukan jaringan

IAMprofil contoh di bawah Detail lanjutan

IAMPeran node di bawah konfigurasi grup Node pada halaman grup Configure Node

Perilaku Shutdown dan Perilaku Berhenti - Hibernasi dalam Detail lanjutan. Pertahankan default Jangan sertakan dalam pengaturan template peluncuran di template peluncuran untuk kedua pengaturan.

Tidak setara. Amazon EKS harus mengontrol siklus hidup instans, bukan grup Auto Scaling.

Tabel berikut mencantumkan pengaturan yang dilarang dalam konfigurasi grup node terkelola. Ini juga mencantumkan pengaturan serupa, jika ada yang tersedia, yang diperlukan dalam template peluncuran. Pengaturan yang tercantum adalah pengaturan yang muncul di konsol. Mereka mungkin memiliki nama yang mirip di AWS CLI danSDK.

Konfigurasi grup EKS simpul Amazon - Dilarang Templat peluncuran

(Hanya jika Anda menentukan kustom AMI dalam template peluncuran) AMIketik di bawah Konfigurasi komputasi grup Node pada Setel halaman konfigurasi komputasi dan penskalaan — Tampilan konsol Ditentukan dalam templat peluncuran dan AMI ID yang ditentukan.

Jika Application dan OS Images (Amazon Machine Image) tidak ditentukan dalam template peluncuran, Anda dapat memilih konfigurasi grup node. AMI

Gambar Aplikasi dan OS (Gambar Mesin Amazon) di bawah Meluncurkan konten template - Anda harus menentukan ID jika Anda memiliki salah satu dari persyaratan berikut:

* Menggunakan kustomAMI. Jika Anda menentukan AMI yang tidak memenuhi persyaratan yang tercantum dalam Menentukan sebuah AMI MenentukanAMI, penyebaran grup node akan gagal. * Ingin memberikan data pengguna untuk memberikan argumen ke bootstrap.sh file yang disertakan dengan Amazon yang EKS dioptimalkanAMI. Anda dapat mengaktifkan instans Anda untuk menetapkan jumlah alamat IP yang jauh lebih tinggi Pods, tetapkan alamat IP ke Pods dari CIDR blok yang berbeda dari instans, atau menyebarkan cluster pribadi tanpa akses internet keluar. Untuk informasi selengkapnya, lihat topik berikut: + Tetapkan lebih banyak alamat IP ke EKS node Amazon dengan awalanTetapkan lebih banyak alamat IP ke EKS node Amazon dengan awalan Deploy pods dalam subnet alternatif dengan jaringan khusus Menerapkan pod di subnet alternatif dengan jaringan khusus Menerapkan klaster pribadi dengan Menyebarkan kluster pribadi dengan akses internet terbatas akses internet terbatas Menentukan Menentukan sebuah AMI AMI

Ukuran disk di bawah konfigurasi komputasi grup Node pada Mengatur halaman konfigurasi komputasi dan penskalaan — Tampilan konsol Ditentukan dalam templat peluncuran.

Ukuran dalam Penyimpanan (Volume) (Tambahkan volume baru). Anda harus menentukan ini dalam templat peluncuran.

SSHkey pair di bawah Konfigurasi grup Node pada halaman Tentukan Jaringan — Konsol menampilkan kunci yang ditentukan dalam template peluncuran atau tampilan Tidak ditentukan dalam template peluncuran.

Nama pasangan kunci dalam Pasangan kunci (login).

Anda tidak dapat menentukan grup keamanan sumber yang diizinkan akses jarak jauh saat menggunakan templat peluncuran.

Grup keamanan dalam Pengaturan jaringan untuk instans atau Grup keamanan di bawah Antarmuka jaringan (Tambahkan antarmuka jaringan), tapi tidak keduanya. Untuk informasi selengkapnya, lihat Menggunakan grup keamanan kustom.

catatan
  • Jika Anda menerapkan grup node menggunakan template peluncuran, tentukan nol atau satu jenis Instance di bawah Meluncurkan konten template dalam template peluncuran. Atau, Anda dapat menentukan 0—20 jenis instans untuk tipe Instance di halaman Setel konfigurasi komputasi dan penskalaan di konsol. Atau, Anda dapat melakukannya menggunakan alat lain yang menggunakan Amazon EKSAPI. Jika Anda menentukan jenis instance dalam template peluncuran, dan menggunakan template peluncuran tersebut untuk menyebarkan grup node, Anda tidak dapat menentukan jenis instance apa pun di konsol atau menggunakan alat lain yang menggunakan Amazon EKSAPI. Jika Anda tidak menentukan jenis instance dalam template peluncuran, di konsol, atau menggunakan alat lain yang menggunakan Amazon EKSAPI, jenis t3.medium instance akan digunakan. Jika grup simpul Anda menggunakan tipe kapasitas Spot, sebaiknya tentukan beberapa tipe instans menggunakan konsol. Untuk informasi selengkapnya, lihat Tipe kapasitas grup simpul terkelola.

  • Jika kontainer apa pun yang Anda terapkan ke grup node menggunakan Layanan Metadata Instans Versi 2, pastikan untuk menetapkan batas hop respons Metadata ke 2 dalam template peluncuran Anda. Untuk informasi selengkapnya, lihat Metadata instans dan data pengguna di EC2Panduan Pengguna Amazon. Jika Anda menerapkan grup simpul terkelola tanpa menggunakan templat peluncuran kustom, nilai ini secara otomatis ditetapkan untuk grup simpul dalam templat peluncuran default.

Menandai instans Amazon EC2

Anda dapat menggunakan TagSpecification parameter template peluncuran untuk menentukan tag mana yang akan diterapkan ke EC2 instance Amazon di grup node Anda. IAMEntitas yang memanggil CreateNodegroup atau UpdateNodegroupVersion APIs harus memiliki izin untuk ec2:RunInstances danec2:CreateTags, dan tag harus ditambahkan ke template peluncuran.

Menggunakan grup keamanan kustom

Anda dapat menggunakan template peluncuran untuk menentukan grup EC2 keamanan Amazon khusus untuk diterapkan ke instance di grup node Anda. Ini dapat berupa parameter grup keamanan tingkat instans atau sebagai bagian dari parameter konfigurasi antarmuka jaringan. Namun, Anda tidak dapat membuat template peluncuran yang menentukan tingkat instans dan grup keamanan antarmuka jaringan. Pertimbangkan kondisi yang berlaku berikut untuk menggunakan grup keamanan kustom dengan grup simpul terkelola:

  • Saat menggunakan AWS Management Console, Amazon EKS hanya mengizinkan template peluncuran dengan spesifikasi antarmuka jaringan tunggal.

  • Secara default, Amazon EKS menerapkan grup keamanan Lihat persyaratan grup EKS keamanan Amazon untuk klaster klaster ke instance di grup node Anda untuk memfasilitasi komunikasi antara node dan bidang kontrol. Jika Anda menentukan grup keamanan kustom dalam template peluncuran menggunakan salah satu opsi yang disebutkan sebelumnya, Amazon EKS tidak menambahkan grup keamanan klaster. Jadi, Anda harus memastikan bahwa aturan masuk dan keluar dari grup keamanan Anda memungkinkan komunikasi dengan titik akhir klaster Anda. Jika aturan grup keamanan Anda salah, node pekerja tidak dapat bergabung dengan cluster. Untuk informasi selengkapnya tentang aturan grup keamanan, lihatLihat persyaratan grup EKS keamanan Amazon untuk klaster.

  • Jika Anda memerlukan SSH akses ke instance di grup node Anda, sertakan grup keamanan yang memungkinkan akses tersebut.

Data EC2 pengguna Amazon

Template peluncuran mencakup bagian untuk data pengguna kustom. Anda dapat menentukan pengaturan konfigurasi untuk grup node Anda di bagian ini tanpa membuat kustom individual secara manualAMIs. Untuk informasi selengkapnya tentang pengaturan yang tersedia Bottlerocket, lihat Menggunakan data pengguna di GitHub.

Anda dapat menyediakan data EC2 pengguna Amazon di template peluncuran Anda menggunakan cloud-init saat meluncurkan instans Anda. Untuk informasi selengkapnya, lihat dokumentasi cloud-init. Data pengguna Anda dapat digunakan untuk melakukan operasi konfigurasi umum. Ini termasuk operasi berikut:

Data EC2 pengguna Amazon dalam template peluncuran yang digunakan dengan grup node terkelola harus dalam format arsip MIME multi-bagian untuk Amazon Linux AMIs dan TOML format untuk Bottlerocket AMIs. Ini karena data pengguna Anda digabungkan dengan data EKS pengguna Amazon yang diperlukan agar node dapat bergabung dengan cluster. Jangan tentukan perintah apa pun dalam data pengguna Anda yang memulai atau memodifikasikubelet. Ini dilakukan sebagai bagian dari data pengguna yang digabungkan oleh AmazonEKS. kubeletParameter tertentu, seperti pengaturan label pada node, dapat dikonfigurasi langsung melalui grup node terkelolaAPI.

catatan

Untuk informasi selengkapnya tentang kubelet kustomisasi lanjutan, termasuk memulainya secara manual atau meneruskan parameter konfigurasi khusus, lihatMenentukan sebuah AMI. Jika AMI ID kustom ditentukan dalam template peluncuran, Amazon EKS tidak menggabungkan data pengguna.

Rincian berikut memberikan informasi lebih lanjut tentang bagian data pengguna.

Data pengguna Amazon Linux 2

Anda dapat menggabungkan beberapa blok data pengguna menjadi satu file MIME multi-bagian. Misalnya, Anda dapat menggabungkan boothook cloud yang mengonfigurasi Docker daemon dengan skrip shell data pengguna yang menginstal paket khusus. File MIME multi-bagian terdiri dari komponen-komponen berikut:

  • Tipe konten dan deklarasi batas bagian – Content-Type: multipart/mixed; boundary="==MYBOUNDARY=="

  • Deklarasi MIME versi - MIME-Version: 1.0

  • Satu atau lebih blok data pengguna, yang berisi komponen berikut:

    • Batas pembukaan, yang menandakan awal dari blok data pengguna – --==MYBOUNDARY==

    • Deklarasi tipe konten untuk blok: Content-Type: text/cloud-config; charset="us-ascii". Untuk informasi selengkapnya, lihat dokumentasi cloud-init.

    • Isi data pengguna (misalnya, daftar perintah atau cloud-init arahan shell).

    • Batas penutupan, yang menandakan akhir file MIME multi-bagian: --==MYBOUNDARY==--

Berikut ini adalah contoh file MIME multi-bagian yang dapat Anda gunakan untuk membuat file Anda sendiri.

+

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash echo "Running custom user data script" --==MYBOUNDARY==--
Data pengguna Amazon Linux 2023

Amazon Linux 2023 (AL2023) memperkenalkan proses inisialisasi node baru nodeadm yang menggunakan skema konfigurasi. YAML Jika Anda menggunakan grup node yang dikelola sendiri atau AMI dengan template peluncuran, Anda sekarang harus menyediakan metadata klaster tambahan secara eksplisit saat membuat grup node baru. Contoh parameter minimum yang diperlukan adalah sebagai berikut, di manaapiServerEndpoint,certificateAuthority, dan layanan sekarang cidr diperlukan:

--- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: cluster: name: my-cluster apiServerEndpoint: https://example.com certificateAuthority: Y2VydGlmaWNhdGVBdXRob3JpdHk= cidr: 10.100.0.0/16

Anda biasanya akan mengatur konfigurasi ini dalam data pengguna Anda, baik apa adanya atau disematkan dalam dokumen MIME multi-bagian:

MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="BOUNDARY" --BOUNDARY Content-Type: application/node.eks.aws --- apiVersion: node.eks.aws/v1alpha1 kind: NodeConfig spec: [...] --BOUNDARY--

Pada tahunAL2, metadata dari parameter ini ditemukan dari panggilan Amazon EKS DescribeClusterAPI. Dengan AL2 023, perilaku ini telah berubah karena API panggilan tambahan berisiko melambat selama peningkatan skala node besar. Perubahan ini tidak memengaruhi Anda jika Anda menggunakan grup node terkelola tanpa templat peluncuran atau jika Anda menggunakan Karpenter. Untuk informasi selengkapnya tentang certificateAuthority dan layanancidr, lihat `DescribeCluster` di EKSAPIReferensi Amazon.

Bottlerocket data pengguna

Bottlerocket struktur data pengguna dalam TOML format. Anda dapat memberikan data pengguna untuk digabungkan dengan data pengguna yang disediakan oleh AmazonEKS. Misalnya, Anda dapat memberikan kubelet pengaturan tambahan.

[settings.kubernetes.system-reserved] cpu = "10m" memory = "100Mi" ephemeral-storage= "1Gi"

Untuk informasi selengkapnya tentang pengaturan yang didukung, lihat dokumentasi Bottlerocket. Anda dapat mengonfigurasi label node dan Mencegah Pods dari yang dijadwalkan pada node tertentu taints dalam data pengguna Anda. Namun, kami menyarankan Anda mengonfigurasi ini dalam grup node Anda sebagai gantinya. Amazon EKS menerapkan konfigurasi ini saat Anda melakukannya.

Saat data pengguna digabungkan, pemformatan tidak dipertahankan, tetapi kontennya tetap sama. Konfigurasi yang Anda berikan dalam data pengguna akan mengesampingkan pengaturan apa pun yang dikonfigurasi oleh Amazon. EKS Jadi, jika Anda menetapkan settings.kubernetes.max-pods atausettings.kubernetes.cluster-dns-ip, nilai-nilai ini dalam data pengguna Anda diterapkan ke node.

Amazon EKS tidak mendukung semua yang validTOML. Berikut ini adalah daftar format yang tidak didukung yang diketahui:

  • Kutipan dalam kunci yang dikutip: 'quoted "value"' = "value"

  • Kutipan lolos dalam nilai: str = "I’m a string. \"You can quote me\""

  • Campuran pelampung dan bilangan bulat: numbers = [ 0.1, 0.2, 0.5, 1, 2, 5 ]

  • Jenis campuran dalam array: contributors = ["foo@example.com", { name = "Baz", email = "baz@example.com" }]

  • Header bertanda kurung dengan tombol yang dikutip: [foo."bar.baz"]

Windows data pengguna

Penggunaan data pengguna Windows PowerShell perintah. Saat membuat grup node terkelola, data pengguna kustom Anda digabungkan dengan data pengguna EKS terkelola Amazon. Klaster PowerShell perintah didahulukan, diikuti oleh perintah data pengguna yang dikelola, semuanya dalam satu <powershell></powershell> tag.

catatan

Ketika tidak ada AMI ID yang ditentukan dalam template peluncuran, jangan gunakan skrip EKS Bootstrap Amazon Windows dalam data pengguna untuk mengonfigurasi AmazonEKS.

Contoh data pengguna adalah sebagai berikut.

<powershell> Write-Host "Running custom user data script" </powershell>

Menentukan sebuah AMI

Jika Anda memiliki salah satu dari persyaratan berikut, maka tentukan AMI ID di ImageId bidang template peluncuran Anda. Pilih persyaratan yang Anda miliki untuk informasi tambahan.

Bootstrapping adalah istilah yang digunakan untuk menggambarkan penambahan perintah yang dapat dijalankan ketika sebuah instance dimulai. Misalnya, bootstrapping memungkinkan penggunaan argumen kubelet ekstra. Anda dapat meneruskan argumen ke bootstrap.sh skrip dengan menggunakan eksctl tanpa menentukan template peluncuran. Atau Anda dapat melakukannya dengan menentukan informasi di bagian data pengguna dari template peluncuran.

eksctl tanpa menentukan template peluncuran

Buat file bernama my-nodegroup.yaml dengan isi berikut ini. Ganti setiap example value dengan nilai-nilai Anda sendiri. --dns-cluster-ipArgumen --apiserver-endpoint--b64-cluster-ca,, dan bersifat opsional. Namun, mendefinisikannya memungkinkan bootstrap.sh skrip untuk menghindari describeCluster panggilan. Ini berguna dalam pengaturan cluster pribadi atau cluster tempat Anda sering menskalakan node masuk dan keluar. Untuk informasi selengkapnya tentang bootstrap.sh skrip, lihat file bootstrap.sh di GitHub.

  • Satu-satunya argumen yang diperlukan adalah nama cluster (my-cluster).

  • Untuk mengambil AMI ID yang dioptimalkan untuk ami-1234567890abcdef0, you can use the tables in the following sections:

  • Untuk mengambil certificate-authority untuk cluster Anda, jalankan perintah berikut.

    aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code
  • Untuk mengambil api-server-endpoint untuk cluster Anda, jalankan perintah berikut.

    aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code
  • Nilai untuk --dns-cluster-ip adalah layanan Anda CIDR dengan .10 di akhir. Untuk mengambil service-cidr untuk cluster Anda, jalankan perintah berikut. Misalnya, jika nilai yang dikembalikan adalahipv4 10.100.0.0/16, maka nilai Anda adalah10.100.0.10.

    aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code
  • Contoh ini memberikan kubelet argumen untuk menetapkan max-pods nilai kustom menggunakan bootstrap.sh skrip yang disertakan dengan Amazon yang EKS dioptimalkanAMI. Nama grup node tidak boleh lebih dari 63 karakter. Itu harus dimulai dengan huruf atau digit, tetapi juga dapat menyertakan tanda hubung dan garis bawah untuk karakter yang tersisa. Untuk bantuan dalam memilihmy-max-pods-value, lihatAmazon EKS disarankan maksimum Pods untuk setiap jenis EC2 instans Amazon.

    --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code managedNodeGroups: - name: my-nodegroup ami: ami-1234567890abcdef0 instanceType: m5.large privateNetworking: true disableIMDSv1: true labels: { x86-al2-specified-mng } overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.sh my-cluster \ --b64-cluster-ca certificate-authority \ --apiserver-endpoint api-server-endpoint \ --dns-cluster-ip service-cidr.10 \ --kubelet-extra-args '--max-pods=my-max-pods-value' \ --use-max-pods false

    Untuk setiap opsi eksctl config file yang tersedia, lihat Skema file Config dalam dokumentasi. eksctl eksctlUtilitas masih membuat template peluncuran untuk Anda dan mengisi data penggunanya dengan data yang Anda berikan dalam config file.

    Buat grup node dengan perintah berikut.

    eksctl create nodegroup --config-file=my-nodegroup.yaml
Data pengguna dalam template peluncuran

Tentukan informasi berikut di bagian data pengguna dari template peluncuran Anda. Ganti setiap example value dengan nilai-nilai Anda sendiri. --dns-cluster-ipArgumen --apiserver-endpoint--b64-cluster-ca,, dan bersifat opsional. Namun, mendefinisikannya memungkinkan bootstrap.sh skrip untuk menghindari describeCluster panggilan. Ini berguna dalam pengaturan cluster pribadi atau cluster tempat Anda sering menskalakan node masuk dan keluar. Untuk informasi selengkapnya tentang bootstrap.sh skrip, lihat file bootstrap.sh di GitHub.

  • Satu-satunya argumen yang diperlukan adalah nama cluster (my-cluster).

  • Untuk mengambil certificate-authority untuk cluster Anda, jalankan perintah berikut.

    aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code
  • Untuk mengambil api-server-endpoint untuk cluster Anda, jalankan perintah berikut.

    aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code
  • Nilai untuk --dns-cluster-ip adalah layanan Anda CIDR dengan .10 di akhir. Untuk mengambil service-cidr untuk cluster Anda, jalankan perintah berikut. Misalnya, jika nilai yang dikembalikan adalahipv4 10.100.0.0/16, maka nilai Anda adalah10.100.0.10.

    aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code
  • Contoh ini memberikan kubelet argumen untuk menetapkan max-pods nilai kustom menggunakan bootstrap.sh skrip yang disertakan dengan Amazon yang EKS dioptimalkanAMI. Untuk bantuan dalam memilihmy-max-pods-value, lihatAmazon EKS disarankan maksimum Pods untuk setiap jenis EC2 instans Amazon.

    MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="==MYBOUNDARY==" --==MYBOUNDARY== Content-Type: text/x-shellscript; charset="us-ascii" #!/bin/bash set -ex /etc/eks/bootstrap.sh my-cluster \ --b64-cluster-ca certificate-authority \ --apiserver-endpoint api-server-endpoint \ --dns-cluster-ip service-cidr.10 \ --kubelet-extra-args '--max-pods=my-max-pods-value' \ --use-max-pods false --==MYBOUNDARY==--

Bootstrapping adalah istilah yang digunakan untuk menggambarkan penambahan perintah yang dapat dijalankan ketika sebuah instance dimulai. Anda dapat meneruskan argumen ke Start-EKSBootstrap.ps1 skrip dengan menggunakan eksctl tanpa menentukan template peluncuran. Atau Anda dapat melakukannya dengan menentukan informasi di bagian data pengguna dari template peluncuran.

Jika Anda ingin menentukan kustom Windows AMIID, perlu diingat pertimbangan berikut:

  • Anda harus menggunakan template peluncuran dan memberikan perintah bootstrap yang diperlukan di bagian data pengguna. Untuk mengambil yang Anda inginkan Windows ID, Anda dapat menggunakan tabel di Buat node dengan dioptimalkan Windows AMIs Buat node dengan Windows yang dioptimalkanAMIs.

  • Ada beberapa batasan dan kondisi. Misalnya, Anda harus menambahkan eks:kube-proxy-windows ke peta konfigurasi AWS IAM Authenticator Anda. Untuk informasi selengkapnya, lihat Batas dan kondisi saat menentukan ID AMI.

Tentukan informasi berikut di bagian data pengguna dari template peluncuran Anda. Ganti setiap example value dengan nilai-nilai Anda sendiri. -DNSClusterIPArgumen -APIServerEndpoint-Base64ClusterCA,, dan bersifat opsional. Namun, mendefinisikannya memungkinkan Start-EKSBootstrap.ps1 skrip untuk menghindari describeCluster panggilan.

  • Satu-satunya argumen yang diperlukan adalah nama cluster (my-cluster).

  • Untuk mengambil certificate-authority untuk cluster Anda, jalankan perintah berikut.

    aws eks describe-cluster --query "cluster.certificateAuthority.data" --output text --name my-cluster --region region-code
  • Untuk mengambil api-server-endpoint untuk cluster Anda, jalankan perintah berikut.

    aws eks describe-cluster --query "cluster.endpoint" --output text --name my-cluster --region region-code
  • Nilai untuk --dns-cluster-ip adalah layanan Anda CIDR dengan .10 di akhir. Untuk mengambil service-cidr untuk cluster Anda, jalankan perintah berikut. Misalnya, jika nilai yang dikembalikan adalahipv4 10.100.0.0/16, maka nilai Anda adalah10.100.0.10.

    aws eks describe-cluster --query "cluster.kubernetesNetworkConfig.serviceIpv4Cidr" --output text --name my-cluster --region region-code
  • Untuk argumen tambahan, lihatParameter konfigurasi skrip bootstrap.

    catatan

    Jika Anda menggunakan layanan kustomCIDR, maka Anda perlu menentukannya menggunakan -ServiceCIDR parameter. Jika tidak, DNS resolusi untuk Pods di cluster akan gagal.

<powershell> [string]$EKSBootstrapScriptFile = "$env:ProgramFiles\Amazon\EKS\Start-EKSBootstrap.ps1" & $EKSBootstrapScriptFile -EKSClusterName my-cluster ` -Base64ClusterCA certificate-authority ` -APIServerEndpoint api-server-endpoint ` -DNSClusterIP service-cidr.10 </powershell>

Untuk informasi selengkapnya, lihat Gambar Mesin Amazon (AMI) di Panduan EC2 Pengguna Amazon. Spesifikasi EKS AMI build Amazon berisi sumber daya dan skrip konfigurasi untuk membangun Amazon khusus EKS AMI berdasarkan Amazon Linux. Untuk informasi selengkapnya, lihat Spesifikasi Amazon EKS AMI Build di GitHub. Untuk membuat kustom yang AMIs diinstal dengan sistem operasi lain, lihat Amazon EKS Sample Custom AMIs di GitHub.

penting

Saat menentukanAMI, Amazon EKS tidak menggabungkan data pengguna apa pun. Sebaliknya, Anda bertanggung jawab untuk menyediakan bootstrap perintah yang diperlukan untuk node untuk bergabung dengan cluster. Jika node Anda gagal bergabung dengan cluster, Amazon EKS CreateNodegroup dan UpdateNodegroupVersion tindakan juga gagal.

Batas dan kondisi saat menentukan ID AMI

Berikut ini adalah batas dan kondisi yang terlibat dengan menentukan AMI ID dengan grup node terkelola:

  • Anda harus membuat grup node baru untuk beralih antara menentukan AMI ID dalam template peluncuran dan tidak menentukan IDAMI.

  • Anda tidak diberi tahu di konsol saat AMI versi yang lebih baru tersedia. Untuk memperbarui grup node ke AMI versi yang lebih baru, Anda perlu membuat versi baru template peluncuran dengan AMI ID yang diperbarui. Kemudian, Anda perlu memperbarui grup node dengan versi template peluncuran baru.

  • Bidang berikut tidak dapat diatur dalam API jika Anda menentukan AMI ID:

    • amiType

    • releaseVersion

    • version

  • Setiap taints set dalam diterapkan API secara asinkron jika Anda menentukan ID. AMI Untuk menerapkan taints sebelum node bergabung dengan cluster, Anda harus meneruskan taints ke kubelet dalam data pengguna Anda menggunakan flag baris --register-with-taints perintah. Untuk informasi lebih lanjut, lihat kubelet di Kubernetes dokumentasi.

  • Saat menentukan AMI ID kustom untuk Windows grup node terkelola, tambahkan eks:kube-proxy-windows ke peta konfigurasi AWS IAM Authenticator Anda. Ini diperlukan DNS agar berfungsi dengan baik.

    1. Buka peta konfigurasi AWS IAM Authenticator untuk mengedit.

      kubectl edit -n kube-system cm aws-auth
    2. Tambahkan entri ini ke groups daftar di bawah masing-masing rolearn yang terkait dengan Windows simpul. Peta konfigurasi Anda akan terlihat mirip aws-auth-cm-windowsdengan.yaml.

      - eks:kube-proxy-windows
    3. Simpan file dan keluar dari editor teks Anda.

📝 Edit halaman ini GitHub