Dukungan AMI kustom - Panduan Pengguna Eksctl

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

Dukungan AMI kustom

Mengatur node AMI ID

--node-amiBendera ini memungkinkan sejumlah kasus penggunaan lanjutan seperti menggunakan AMI khusus atau kueri AWS secara realtime untuk menentukan AMI mana yang akan digunakan. Bendera dapat digunakan untuk gambar non-GPU dan GPU.

Bendera dapat mengambil id gambar AMI untuk gambar untuk digunakan secara eksplisit. Ini juga dapat mengambil kata kunci 'khusus' berikut:

Kata Kunci Deskripsi

auto

Menunjukkan bahwa AMI yang akan digunakan untuk node harus ditemukan dengan menanyakan AWS EC2. Ini berkaitan dengan auto resolver.

ssm otomatis

Menunjukkan bahwa AMI yang akan digunakan untuk node harus ditemukan dengan menanyakan AWS SSM Parameter Store.

catatan

Saat menyetel --node-ami ke string ID, eksctl akan menganggap bahwa AMI kustom telah diminta. Untuk AmazonLinux 2 dan node Ubuntu, baik EKS dikelola dan dikelola sendiri, ini berarti itu overrideBootstrapCommand diperlukan. Untuk AmazonLinux tahun 2023, karena berhenti menggunakan /etc/eks/bootstrap.sh skrip untuk bootstrap node, yang mendukung proses inisialisasi nodeadm (untuk informasi lebih lanjut, silakan lihat dokumen bootstrap node), tidak didukung. overrideBootstrapCommand

Contoh bendera CLI:

eksctl create cluster --node-ami=auto # with a custom ami id eksctl create cluster --node-ami=ami-custom1234

Contoh file Config:

nodeGroups: - name: ng1 instanceType: p2.xlarge amiFamily: AmazonLinux2 ami: auto - name: ng2 instanceType: m5.large amiFamily: AmazonLinux2 ami: ami-custom1234 managedNodeGroups: - name: m-ng-2 amiFamily: AmazonLinux2 ami: ami-custom1234 instanceType: m5.large overrideBootstrapCommand: | #!/bin/bash /etc/eks/bootstrap.sh <cluster-name>

--node-amiBendera juga dapat digunakan denganeksctl create nodegroup.

Mengatur simpul AMI Family

--node-ami-familyDapat mengambil kata kunci berikut:

Kata Kunci Deskripsi

AmazonLinux2

Menunjukkan bahwa gambar EKS AMI berdasarkan Amazon Linux 2 harus digunakan (default).

AmazonLinux2023

Menunjukkan bahwa gambar EKS AMI berdasarkan Amazon Linux 2023 harus digunakan.

Ubuntu2004

Menunjukkan bahwa gambar EKS AMI berdasarkan Ubuntu 20.04 LTS (Focal) harus digunakan (didukung untuk EKS ⇐ 1.29).

UbuntuPro2004

Menunjukkan bahwa gambar EKS AMI berdasarkan Ubuntu Pro 20.04 LTS (Focal) harus digunakan (tersedia untuk EKS >= 1.27, ⇐ 1.29).

Ubuntu2204

Menunjukkan bahwa gambar EKS AMI berdasarkan Ubuntu 22.04 LTS (Jammy) harus digunakan (tersedia untuk EKS >= 1.29).

UbuntuPro2204

Menunjukkan bahwa gambar EKS AMI berdasarkan Ubuntu Pro 22.04 LTS (Jammy) harus digunakan (tersedia untuk EKS >= 1.29).

Ubuntu2404

Menunjukkan bahwa gambar EKS AMI berdasarkan Ubuntu 24.04 LTS (Noble) harus digunakan (tersedia untuk EKS >= 1.31).

UbuntuPro2404

Menunjukkan bahwa gambar EKS AMI berdasarkan Ubuntu Pro 24.04 LTS (Noble) harus digunakan (tersedia untuk EKS >= 1.31).

Bottlerocket

Menunjukkan bahwa gambar EKS AMI berdasarkan Bottlerocket harus digunakan.

WindowsServer2019 FullContainer

Menunjukkan bahwa gambar EKS AMI berdasarkan Windows Server 2019 Full Container harus digunakan.

WindowsServer2019 CoreContainer

Menunjukkan bahwa gambar EKS AMI berdasarkan Windows Server 2019 Core Container harus digunakan.

WindowsServer2022 FullContainer

Menunjukkan bahwa gambar EKS AMI berdasarkan Windows Server 2022 Full Container harus digunakan.

WindowsServer2022 CoreContainer

Menunjukkan bahwa gambar EKS AMI berdasarkan Windows Server 2022 Core Container harus digunakan.

Contoh bendera CLI:

eksctl create cluster --node-ami-family=AmazonLinux2

Contoh file Config:

nodeGroups: - name: ng1 instanceType: m5.large amiFamily: AmazonLinux2 managedNodeGroups: - name: m-ng-2 instanceType: m5.large amiFamily: Ubuntu2204

--node-ami-familyBendera juga dapat digunakan denganeksctl create nodegroup. eksctlmengharuskan AMI Family disetel secara eksplisit melalui file konfigurasi atau melalui flag --node-ami-family CLI, setiap kali bekerja dengan AMI khusus.

catatan

Saat ini, nodegroup terkelola EKS hanya mendukung Keluarga AMI berikut saat bekerja dengan custom AMIs:AmazonLinux2023,,AmazonLinux2, Ubuntu1804 dan Ubuntu2004 Ubuntu2204

Dukungan AMI kustom Windows

Hanya nodegroup Windows yang dikelola sendiri yang dapat menentukan AMI kustom. amiFamilyharus disetel ke keluarga Windows AMI yang valid.

PowerShell Variabel berikut akan tersedia untuk skrip bootstrap:

$EKSBootstrapScriptFile
$EKSClusterName
$APIServerEndpoint
$Base64ClusterCA
$ServiceCIDR
$KubeletExtraArgs
$KubeletExtraArgsMap: A hashtable containing arguments for the kubelet, e.g., @{ 'node-labels' = ''; 'register-with-taints' = ''; 'max-pods' = '10'}
$DNSClusterIP
$ContainerRuntime

Contoh file Config:

nodeGroups: - name: custom-windows amiFamily: WindowsServer2022FullContainer ami: ami-01579b74557facaf7 overrideBootstrapCommand: | & $EKSBootstrapScriptFile -EKSClusterName "$EKSClusterName" -APIServerEndpoint "$APIServerEndpoint" -Base64ClusterCA "$Base64ClusterCA" -ContainerRuntime "containerd" -KubeletExtraArgs "$KubeletExtraArgs" 3>&1 4>&1 5>&1 6>&1

Dukungan AMI kustom bottlerocket

Untuk node Bottlerocket, tidak didukung. overrideBootstrapCommand Sebagai gantinya, untuk menunjuk wadah bootstrap mereka sendiri, seseorang harus menggunakan bottlerocket bidang sebagai bagian dari file konfigurasi. Misalnya

nodeGroups: - name: bottlerocket-ng ami: ami-custom1234 amiFamily: Bottlerocket bottlerocket: enableAdminContainer: true settings: bootstrap-containers: bootstrap: source: <MY-CONTAINER-URI>