

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

# Dukungan AMI kustom
<a name="custom-ami-support"></a>

## Mengatur node AMI ID
<a name="_setting_the_node_ami_id"></a>

`--node-ami`Bendera 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 ini, nodegroup terkelola EKS hanya mendukung Keluarga AMI berikut ketika bekerja dengan custom AMIs:`AmazonLinux2023`,,,`AmazonLinux2`, `Bottlerocket``Ubuntu2004`, `UbuntuPro2004` dan `Ubuntu2204` `Ubuntu2404` 

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](https://github.com/eksctl-io/eksctl/blob/main/pkg/nodebootstrap/README.md)), 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-ami`Bendera juga dapat digunakan dengan`eksctl create nodegroup`.

## Mengatur simpul AMI Family
<a name="_setting_the_node_ami_family"></a>

`--node-ami-family`Dapat 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-family`Bendera juga dapat digunakan dengan`eksctl create nodegroup`. `eksctl`mengharuskan 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 ketika bekerja dengan custom AMIs:`AmazonLinux2023`,,,`AmazonLinux2`, `Bottlerocket``Ubuntu2004`, `UbuntuPro2004` dan `Ubuntu2204` `Ubuntu2404` 

## Dukungan AMI kustom Windows
<a name="_windows_custom_ami_support"></a>

Hanya nodegroup Windows yang dikelola sendiri yang dapat menentukan AMI kustom. `amiFamily`harus 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
<a name="_bottlerocket_custom_ami_support"></a>

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>
```