View a markdown version of this page

Dukungan AMI khusus - 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 khusus

Mengatur ID AMI node

--node-amiBendera memungkinkan sejumlah kasus penggunaan lanjutan seperti menggunakan AMI khusus atau menanyakan 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 terkait dengan resolver otomatis.

auto-ssm

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

catatan

Saat ini, grup node yang dikelola EKS hanya mendukung Keluarga AMI berikut saat bekerja dengan AMI khusus:,AmazonLinux2023,,AmazonLinux2, BottlerocketUbuntu2004, dan UbuntuPro2004 Ubuntu2204 Ubuntu2404

Saat mengatur --node-ami ke string ID, eksctl akan mengasumsikan bahwa AMI khusus telah diminta. Untuk node AmazonLinux 2 dan Ubuntu, baik EKS dikelola dan dikelola sendiri, ini berarti itu overrideBootstrapCommand diperlukan. Untuk AmazonLinux 2023, Anda dapat menghilangkan overrideBootstrapCommand saat menggunakan AMI khusus, karena eksctl secara otomatis menghasilkan minimum yang diperlukan. NodeConfig Untuk informasi selengkapnya tentang bootstrap node, lihat Node bootstrap on. GitHub

Contoh bendera CLI:

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

Contoh file konfigurasi:

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 bisa 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.

WindowsServer2019FullContainer

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

WindowsServer2019CoreContainer

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

WindowsServer2022FullContainer

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

WindowsServer2022CoreContainer

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 konfigurasi:

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

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

catatan

Saat ini, grup node yang dikelola EKS hanya mendukung Keluarga AMI berikut saat bekerja dengan AMI khusus:,AmazonLinux2023,,AmazonLinux2, BottlerocketUbuntu2004, dan UbuntuPro2004 Ubuntu2204 Ubuntu2404

Dukungan AMI khusus Windows

Hanya grup node Windows yang dikelola sendiri yang dapat menentukan AMI khusus. amiFamilyharus diatur ke keluarga AMI Windows 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 konfigurasi:

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 overrideBootstrapCommand didukung. Sebagai gantinya, untuk menunjuk wadah bootstrap mereka sendiri, seseorang harus menggunakan bottlerocket bidang sebagai bagian dari file konfigurasi. E.g.

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