Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Soporte de AMI personalizado
Configuración del ID de AMI del nodo
El --node-ami
indicador permite varios casos de uso avanzados, como usar una AMI personalizada o consultar a AWS en tiempo real para determinar qué AMI usar. El indicador se puede usar tanto para imágenes que no son de GPU como para imágenes de GPU.
El indicador puede tomar el identificador de imagen de la AMI de una imagen para su uso explícito. También puede incluir las siguientes palabras clave «especiales»:
Palabra clave | Descripción |
---|---|
auto |
Indica que la AMI que se va a utilizar para los nodos se debe encontrar consultando a AWS EC2. Esto se relaciona con la resolución automática. |
SSM automático |
Indica que la AMI que se va a utilizar para los nodos debe encontrarse consultando el almacén de parámetros SSM de AWS. |
nota
Al --node-ami
configurar una cadena de ID, eksctl
asumirá que se ha solicitado una AMI personalizada. En el AmazonLinux caso de los nodos 2 y Ubuntu, tanto gestionados por EKS como autogestionados, esto significa que overrideBootstrapCommand
es obligatorio. En AmazonLinux 2023, dado que deja de utilizar el /etc/eks/bootstrap.sh
script para el arranque de nodos, se pasa a un proceso de inicialización de nodeadm (para obtener más información, consulta la documentación de arranque de nodosoverrideBootstrapCommand
Ejemplos de banderas CLI:
eksctl create cluster --node-ami=auto # with a custom ami id eksctl create cluster --node-ami=ami-custom1234
Ejemplo de archivo de configuración:
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
bandera también se puede usar coneksctl create nodegroup
.
Configuración de la familia AMI del nodo
--node-ami-family
Puede incluir las siguientes palabras clave:
Palabra clave | Descripción |
---|---|
AmazonLinux2. |
Indica que se debe utilizar la imagen AMI de EKS basada en Amazon Linux 2 (predeterminada). |
AmazonLinux2023 |
Indica que se debe utilizar la imagen AMI de EKS basada en Amazon Linux 2023. |
Ubuntu 2004 |
Indica que se debe utilizar la imagen AMI de EKS basada en Ubuntu 20.04 LTS (Focal) (compatible con EKS 1.29). |
UbuntuPro2004 |
Indica que se debe utilizar la imagen AMI de EKS basada en Ubuntu Pro 20.04 LTS (Focal) (disponible para EKS >= 1,27 y 1,29). |
Ubuntu 2204 |
Indica que se debe utilizar la imagen AMI de EKS basada en Ubuntu 22.04 LTS (Jammy) (disponible para EKS >= 1.29). |
UbuntuPro2204 |
Indica que se debe utilizar la imagen AMI de EKS basada en Ubuntu Pro 22.04 LTS (Jammy) (disponible para EKS >= 1.29). |
Ubuntu 2404 |
Indica que se debe utilizar la imagen AMI de EKS basada en Ubuntu 24.04 LTS (Noble) (disponible para EKS >= 1.31). |
UbuntuPro2404 |
Indica que se debe utilizar la imagen AMI de EKS basada en Ubuntu Pro 24.04 LTS (Noble) (disponible para EKS >= 1.31). |
Bottlerocket |
Indica que se debe utilizar la imagen AMI de EKS basada en Bottlerocket. |
WindowsServer2019 FullContainer |
Indica que se debe utilizar la imagen AMI de EKS basada en el contenedor completo de Windows Server 2019. |
WindowsServer2019 CoreContainer |
Indica que se debe utilizar la imagen AMI de EKS basada en Windows Server 2019 Core Container. |
WindowsServer2022 FullContainer |
Indica que se debe utilizar la imagen AMI de EKS basada en el contenedor completo de Windows Server 2022. |
WindowsServer2022 CoreContainer |
Indica que se debe utilizar la imagen AMI de EKS basada en Windows Server 2022 Core Container. |
Ejemplo de indicador CLI:
eksctl create cluster --node-ami-family=AmazonLinux2
Ejemplo de archivo de configuración:
nodeGroups: - name: ng1 instanceType: m5.large amiFamily: AmazonLinux2 managedNodeGroups: - name: m-ng-2 instanceType: m5.large amiFamily: Ubuntu2204
La --node-ami-family
bandera también se puede usar coneksctl create nodegroup
. eksctl
requiere que la familia AMI se establezca explícitamente mediante un archivo de configuración o mediante un indicador --node-ami-family
CLI, siempre que se trabaje con una AMI personalizada.
nota
Por el momento, los grupos de nodos gestionados por EKS solo admiten las siguientes familias de AMI cuando se trabaja con custom AMIs:AmazonLinux2023
,AmazonLinux2
, y Ubuntu1804
Ubuntu2004
Ubuntu2204
Compatibilidad con AMI personalizadas de Windows
Solo los grupos de nodos de Windows autoadministrados pueden especificar una AMI personalizada. amiFamily
debe configurarse en una familia AMI de Windows válida.
Las siguientes PowerShell variables estarán disponibles para el script de arranque:
$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
Ejemplo de archivo de configuración:
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
Soporte AMI personalizado de Bottlerocket
Para los nodos de Bottlerocket, no se admite. overrideBootstrapCommand
En su lugar, para designar su propio contenedor de arranque, se debe usar el bottlerocket
campo como parte del archivo de configuración. Por ejemplo:
nodeGroups: - name: bottlerocket-ng ami: ami-custom1234 amiFamily: Bottlerocket bottlerocket: enableAdminContainer: true settings: bootstrap-containers: bootstrap: source: <MY-CONTAINER-URI>