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? Pilih Edit halaman ini pada GitHub tautan yang terletak di panel kanan setiap halaman. 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 blok CIDR yang berbeda dari alamat IP yang ditetapkan ke node.

  • Terapkan AMI kustom Anda sendiri ke node.

  • Terapkan CNI kustom Anda sendiri 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 SDK. AWS 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 dan SDK.

Peluncuran templat — Dilarang Konfigurasi grup simpul Amazon EKS

Subnet dalam Antarmuka Jaringan (Tambahkan antarmuka jaringan)

Subnet di bawah konfigurasi jaringan grup Node pada halaman Tentukan jaringan

Profil instans IAM dalam Detail lanjutan

Peran IAM 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 dan SDK.

Konfigurasi grup simpul Amazon EKS - Dilarang Luncurkan templat

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

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

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 AMI kustom. Jika Anda menentukan AMI yang tidak memenuhi persyaratan yang tercantum dalam Menentukan AMI, penerapan grup node akan gagal. * Ingin memberikan data pengguna untuk memberikan argumen ke bootstrap.sh file yang disertakan dengan AMI Amazon EKS yang dioptimalkan. Anda dapat mengaktifkan instans Anda untuk menetapkan jumlah alamat IP yang jauh lebih tinggi Pods, tetapkan alamat IP ke Pods dari blok CIDR yang berbeda dari instans, atau gunakan cluster pribadi tanpa akses internet keluar. Untuk informasi selengkapnya, lihat topik berikut: + Tetapkan lebih banyak alamat IP ke node Amazon EKS dengan awalanMenerapkan pod di subnet alternatif dengan jaringan khusus Menerapkan klaster pribadi denganakses internet terbatas Menentukan 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.

SSH key pair di bawah konfigurasi grup Node pada halaman Specify Networking - Konsol menampilkan kunci yang ditentukan dalam template peluncuran atau menampilkan 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 EKS API. 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 EKS API. Jika Anda tidak menentukan jenis instance dalam template peluncuran, di konsol, atau menggunakan alat lain yang menggunakan Amazon EKS API, 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 EC2 Panduan 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. Entitas IAM 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 klaster untuk instans dalam grup simpul Anda guna memfasilitasi komunikasi antara simpul dan pesawat kontrol. Jika Anda menentukan grup keamanan khusus 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 keamanan Amazon EKS untuk cluster.

  • Jika Anda memerlukan akses SSH 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 manual AMIs. 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 multi-bagian MIME untuk Amazon Linux AMIs dan format TOMM untuk Bottlerocket AMIs. Ini karena data pengguna Anda digabungkan dengan data pengguna Amazon EKS 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 Amazon EKS. Parameter kubelet tertentu, seperti pengaturan label pada simpul, dapat dikonfigurasi secara langsung melalui API grup simpul terkelola.

catatan

Untuk informasi selengkapnya tentang kubelet kustomisasi lanjutan, termasuk memulainya secara manual atau meneruskan parameter konfigurasi khusus, lihatMenentukan AMI. Jika ID AMI 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 multi-bagian MIME. Misalnya, Anda dapat menggabungkan boothook cloud yang mengonfigurasi Docker daemon dengan skrip shell data pengguna yang menginstal paket khusus. File multi-bagian MIME terdiri dari komponen berikut:

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

  • Deklarasi versi MIME – 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 dari file multi-bagian MIME: --==MYBOUNDARY==--

Berikut ini adalah contoh file multi-bagian MIME yang dapat Anda gunakan untuk membuat milik 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 YAMG. 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 multi-bagian MIME:

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 tahun AL2, metadata dari parameter ini ditemukan dari panggilan Amazon EKS DescribeCluster API. Dengan AL2 023, perilaku ini telah berubah karena panggilan API 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 Referensi API Amazon EKS.

Bottlerocket data pengguna

Bottlerocket struktur data pengguna dalam format TOMB. Anda dapat memberikan data pengguna untuk digabungkan dengan data pengguna yang disediakan oleh Amazon EKS. 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 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 TOMB yang valid. 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 terkelola Amazon EKS. Klaster PowerShell perintah didahulukan, diikuti oleh perintah data pengguna yang dikelola, semuanya dalam satu <powershell></powershell> tag.

catatan

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

Contoh data pengguna adalah sebagai berikut.

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

Menentukan AMI

Jika Anda memiliki salah satu dari persyaratan berikut, tentukan ID AMI 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, bootstrap 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 ID AMI yang dioptimalkanami-1234567890abcdef0 , Anda dapat menggunakan tabel di bagian berikut:

  • 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 CIDR layanan Anda 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 AMI Amazon EKS yang dioptimalkan. 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 CIDR layanan Anda 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 AMI Amazon EKS yang dioptimalkan. 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 AMI ID, 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 Windows yang dioptimalkan AMIs.

  • 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 ketentuan 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 CIDR layanan Anda 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 khusus CIDR, maka Anda perlu menentukannya menggunakan -ServiceCIDR parameter. Jika tidak, resolusi DNS 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 build Amazon EKS AMI berisi sumber daya dan skrip konfigurasi untuk membuat Amazon EKS AMI khusus 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 menentukan AMI, 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 simpul Anda gagal untuk bergabung dengan klaster, tindakan Amazon EKS CreateNodegroup dan UpdateNodegroupVersion juga gagal.

Batas dan ketentuan saat menentukan ID AMI

Berikut ini adalah batasan dan kondisi yang terkait dengan menentukan ID AMI dengan grup node terkelola:

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

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

  • Bidang berikut tidak dapat disetel di API jika Anda menentukan ID AMI:

    • amiType

    • releaseVersion

    • version

  • Setiap taints set dalam API diterapkan 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 ID AMI kustom untuk Windows grup node terkelola, tambahkan eks:kube-proxy-windows ke peta konfigurasi AWS IAM Authenticator Anda. Ini diperlukan agar DNS 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 tutup editor teks Anda.