Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Support personnalisé pour les AMI
Configuration de l'ID AMI du nœud
L'--node-ami
indicateur permet un certain nombre de cas d'utilisation avancés, tels que l'utilisation d'une AMI personnalisée ou l'interrogation d'AWS en temps réel pour déterminer l'AMI à utiliser. Le drapeau peut être utilisé à la fois pour les images sans GPU et pour les images avec GPU.
L'indicateur peut prendre l'identifiant de l'image AMI d'une image à utiliser explicitement. Il peut également utiliser les mots clés « spéciaux » suivants :
Mot clé | Description |
---|---|
auto |
Indique que l'AMI à utiliser pour les nœuds doit être trouvée en interrogeant AWS EC2. Cela concerne le résolveur automatique. |
auto-ssm |
Indique que l'AMI à utiliser pour les nœuds doit être trouvée en interrogeant le magasin de paramètres AWS SSM. |
Note
Lorsque vous définissez une chaîne --node-ami
d'identification, cela eksctl
supposera qu'une AMI personnalisée a été demandée. Pour les nœuds AmazonLinux 2 et Ubuntu, gérés ou autogérés par EKS, cela signifie que cela overrideBootstrapCommand
est nécessaire. Pour AmazonLinux 2023, puisqu'il cesse d'utiliser le /etc/eks/bootstrap.sh
script pour le démarrage des nœuds, au profit d'un processus d'initialisation de nodeadm (pour plus d'informations, reportez-vous à la documentation sur le démarrage des nœuds), n'est pas pris en charge.overrideBootstrapCommand
Exemples d'indicateurs CLI :
eksctl create cluster --node-ami=auto # with a custom ami id eksctl create cluster --node-ami=ami-custom1234
Exemple de fichier de configuration :
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>
Le --node-ami
drapeau peut également être utilisé aveceksctl create nodegroup
.
Configuration de la famille AMI du nœud
Ils --node-ami-family
peuvent utiliser les mots clés suivants :
Mot clé | Description |
---|---|
AmazonLinux2 |
Indique que l'image AMI EKS basée sur Amazon Linux 2 doit être utilisée (par défaut). |
AmazonLinux2023 |
Indique que l'image AMI EKS basée sur Amazon Linux 2023 doit être utilisée. |
Ubuntu 2004 |
Indique que l'image AMI EKS basée sur Ubuntu 20.04 LTS (Focal) doit être utilisée (prise en charge pour EKS 1.29). |
UbuntuPro2004 |
Indique que l'image de l'AMI EKS basée sur Ubuntu Pro 20.04 LTS (Focal) doit être utilisée (disponible pour EKS >= 1.27 et 1.29). |
Ubuntu 2204 |
Indique que l'image AMI EKS basée sur Ubuntu 22.04 LTS (Jammy) doit être utilisée (disponible pour EKS >= 1.29). |
UbuntuPro2204 |
Indique que l'image AMI EKS basée sur Ubuntu Pro 22.04 LTS (Jammy) doit être utilisée (disponible pour EKS >= 1.29). |
Ubuntu 2404 |
Indique que l'image AMI EKS basée sur Ubuntu 24.04 LTS (Noble) doit être utilisée (disponible pour EKS >= 1.31). |
UbuntuPro2404 |
Indique que l'image AMI EKS basée sur Ubuntu Pro 24.04 LTS (Noble) doit être utilisée (disponible pour EKS >= 1.31). |
Bottlerocket |
Indique que l'image AMI EKS basée sur Bottlerocket doit être utilisée. |
WindowsServer2019 FullContainer |
Indique que l'image AMI EKS basée sur le conteneur complet de Windows Server 2019 doit être utilisée. |
WindowsServer2019 CoreContainer |
Indique que l'image AMI EKS basée sur Windows Server 2019 Core Container doit être utilisée. |
WindowsServer2022 FullContainer |
Indique que l'image AMI EKS basée sur le conteneur complet Windows Server 2022 doit être utilisée. |
WindowsServer2022 CoreContainer |
Indique que l'image AMI EKS basée sur Windows Server 2022 Core Container doit être utilisée. |
Exemple d'indicateur CLI :
eksctl create cluster --node-ami-family=AmazonLinux2
Exemple de fichier de configuration :
nodeGroups: - name: ng1 instanceType: m5.large amiFamily: AmazonLinux2 managedNodeGroups: - name: m-ng-2 instanceType: m5.large amiFamily: Ubuntu2204
Le --node-ami-family
drapeau peut également être utilisé aveceksctl create nodegroup
. eksctl
nécessite que la famille d'AMI soit explicitement définie via un fichier de configuration ou via un indicateur --node-ami-family
CLI, chaque fois que vous travaillez avec une AMI personnalisée.
Note
À l'heure actuelle, les groupes de nœuds gérés par EKS ne prennent en charge que les familles d'AMI suivantes lorsque vous travaillez avec des fonctionnalités personnalisées AMIs :AmazonLinux2023
,AmazonLinux2
, et Ubuntu1804
Ubuntu2004
Ubuntu2204
Prise en charge des AMI personnalisées pour Windows
Seuls les groupes de nœuds Windows autogérés peuvent spécifier une AMI personnalisée. amiFamily
doit être défini sur une famille d'AMI Windows valide.
Les PowerShell variables suivantes seront disponibles pour le 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
Exemple de fichier de configuration :
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
Support d'AMI personnalisé Bottlerocket
Pour les nœuds Bottlerocket, le overrideBootstrapCommand
n'est pas pris en charge. Au lieu de cela, pour désigner leur propre conteneur bootstrap, il faut utiliser le bottlerocket
champ dans le cadre du fichier de configuration. P. ex.
nodeGroups: - name: bottlerocket-ng ami: ami-custom1234 amiFamily: Bottlerocket bottlerocket: enableAdminContainer: true settings: bootstrap-containers: bootstrap: source: <MY-CONTAINER-URI>