

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Supporto AMI personalizzato
<a name="custom-ami-support"></a>

## Impostazione dell'ID AMI del nodo
<a name="_setting_the_node_ami_id"></a>

Il `--node-ami` flag consente una serie di casi d'uso avanzati, come l'utilizzo di un'AMI personalizzata o l'esecuzione di query su AWS in tempo reale per determinare quale AMI utilizzare. Il flag può essere utilizzato sia per immagini non GPU che per immagini GPU.

Il flag può utilizzare l'ID dell'immagine AMI per un'immagine da utilizzare in modo esplicito. Può anche accettare le seguenti parole chiave «speciali»:


| Parola chiave | Description | 
| --- | --- | 
|  auto  |  Indica che l'AMI da utilizzare per i nodi deve essere trovata interrogando AWS EC2. Questo si riferisce al resolver automatico.  | 
|  ssm automatico  |  Indica che l'AMI da utilizzare per i nodi deve essere trovata interrogando AWS SSM Parameter Store.  | 

**Nota**  
Al momento, i gruppi di nodi gestiti da EKS supportano solo le seguenti famiglie AMI quando si lavora con applicazioni personalizzate AMIs:`AmazonLinux2023`,`AmazonLinux2`,, `Bottlerocket``Ubuntu2004`, e `UbuntuPro2004` `Ubuntu2204` `Ubuntu2404` 

Quando `--node-ami` si imposta su una stringa ID, `eksctl` si presume che sia stata richiesta un'AMI personalizzata. Per i nodi AmazonLinux 2 e Ubuntu, sia gestiti da EKS che autogestiti, ciò significa che `overrideBootstrapCommand` è necessario. Per il AmazonLinux 2023, poiché smette di usare lo `/etc/eks/bootstrap.sh` script per il bootstrap dei nodi, a favore di un processo di inizializzazione di nodeadm (per maggiori informazioni, consulta i documenti di [bootstrapping dei nodi](https://github.com/eksctl-io/eksctl/blob/main/pkg/nodebootstrap/README.md)), non è supportato. `overrideBootstrapCommand`

Esempi di flag CLI:

```
eksctl create cluster --node-ami=auto

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

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

La `--node-ami` bandiera può essere utilizzata anche con`eksctl create nodegroup`.

## Impostazione del nodo AMI Family
<a name="_setting_the_node_ami_family"></a>

`--node-ami-family`Possono assumere le seguenti parole chiave:


| Parola chiave | Description | 
| --- | --- | 
|  AmazonLinux2  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Amazon Linux 2 (impostazione predefinita).  | 
|  AmazonLinux2023  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Amazon Linux 2023.  | 
|  Ubuntu 2004  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Ubuntu 20.04 LTS (Focal) (supportata per EKS 1.29).  | 
|  UbuntuPro2004  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Ubuntu Pro 20.04 LTS (Focal) (disponibile per EKS >= 1.27, ◄1.29).  | 
|  Ubuntu 2204  |  Indica che deve essere utilizzata l'immagine EKS AMI basata su Ubuntu 22.04 LTS (Jammy) (disponibile per EKS >= 1.29).  | 
|  UbuntuPro2204  |  Indica che deve essere utilizzata l'immagine EKS AMI basata su Ubuntu Pro 22.04 LTS (Jammy) (disponibile per EKS >= 1.29).  | 
|  Ubuntu 2404  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Ubuntu 24.04 LTS (Noble) (disponibile per EKS >= 1.31).  | 
|  UbuntuPro2404  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Ubuntu Pro 24.04 LTS (Noble) (disponibile per EKS >= 1.31).  | 
|  Portabottiglie  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Bottlerocket.  | 
|  WindowsServer2019 FullContainer  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Windows Server 2019 Full Container.  | 
|  WindowsServer2019 CoreContainer  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Windows Server 2019 Core Container.  | 
|  WindowsServer2022 FullContainer  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Windows Server 2022 Full Container.  | 
|  WindowsServer2022 CoreContainer  |  Indica che deve essere utilizzata l'immagine AMI EKS basata su Windows Server 2022 Core Container.  | 

Esempio di flag CLI:

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

Esempio di file Config:

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

La `--node-ami-family` bandiera può essere utilizzata anche con`eksctl create nodegroup`. `eksctl`richiede che la famiglia AMI sia impostata esplicitamente tramite il file di configurazione o tramite il flag `--node-ami-family` CLI, ogni volta che si lavora con un'AMI personalizzata.

**Nota**  
Al momento, i gruppi di nodi gestiti da EKS supportano solo le seguenti famiglie AMI quando si lavora con applicazioni personalizzate AMIs:`AmazonLinux2023`,`AmazonLinux2`,, `Bottlerocket``Ubuntu2004`, e `UbuntuPro2004` `Ubuntu2204` `Ubuntu2404` 

## Supporto AMI personalizzato per Windows
<a name="_windows_custom_ami_support"></a>

Solo i gruppi di nodi Windows autogestiti possono specificare un'AMI personalizzata. `amiFamily`deve essere impostato su una famiglia di AMI Windows valida.

Le seguenti PowerShell variabili saranno disponibili per lo script 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
```

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

## Supporto AMI personalizzato Bottlerocket
<a name="_bottlerocket_custom_ami_support"></a>

Per i nodi Bottlerocket, non è supportato. `overrideBootstrapCommand` Invece, per designare il proprio contenitore bootstrap, è necessario utilizzare il `bottlerocket` campo come parte del file di configurazione. (ad esempio

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