As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Suporte personalizado para AMI
Configurando o ID da AMI do nó
A --node-ami
bandeira permite vários casos de uso avançados, como usar uma AMI personalizada ou consultar a AWS em tempo real para determinar qual AMI usar. O sinalizador pode ser usado tanto para imagens sem GPU quanto para imagens com GPU.
O sinalizador pode usar o ID da imagem da AMI para uso explícito de uma imagem. Ele também pode usar as seguintes palavras-chave “especiais”:
Palavra-chave | Descrição |
---|---|
auto |
Indica que a AMI a ser usada para os nós deve ser encontrada consultando a AWS EC2. Isso está relacionado ao resolvedor automático. |
ssm automático |
Indica que a AMI a ser usada para os nós deve ser encontrada consultando o AWS SSM Parameter Store. |
nota
Ao --node-ami
definir uma string de ID, eksctl
assumirá que uma AMI personalizada foi solicitada. Para nós AmazonLinux 2 e Ubuntu, gerenciados e autogerenciados pelo EKS, isso significa que isso overrideBootstrapCommand
é necessário. Para AmazonLinux 2023, uma vez que ele para de usar o /etc/eks/bootstrap.sh
script para inicialização de nós, não há suporte para um processo de inicialização do nodeadm (para obter mais informações, consulte a documentação de inicialização do nóoverrideBootstrapCommand
Exemplos de sinalizadores CLI:
eksctl create cluster --node-ami=auto # with a custom ami id eksctl create cluster --node-ami=ami-custom1234
Exemplo de arquivo de configuração:
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>
A --node-ami
bandeira também pode ser usada comeksctl create nodegroup
.
Configurando a família AMI do nó
Eles --node-ami-family
podem usar as seguintes palavras-chave:
Palavra-chave | Descrição |
---|---|
AmazonLinux2 |
Indica que a imagem EKS AMI baseada no Amazon Linux 2 deve ser usada (padrão). |
AmazonLinux2023 |
Indica que a imagem EKS AMI baseada no Amazon Linux 2023 deve ser usada. |
Ubuntu 2004 |
Indica que a imagem do EKS AMI baseada no Ubuntu 20.04 LTS (Focal) deve ser usada (compatível com EKS ․ 1.29). |
UbuntuPro2004 |
Indica que a imagem EKS AMI baseada no Ubuntu Pro 20.04 LTS (Focal) deve ser usada (disponível para EKS >= 1.27, 1.29). |
Ubuntu 2204 |
Indica que a imagem do EKS AMI baseada no Ubuntu 22.04 LTS (Jammy) deve ser usada (disponível para EKS >= 1.29). |
UbuntuPro2204 |
Indica que a imagem do EKS AMI baseada no Ubuntu Pro 22.04 LTS (Jammy) deve ser usada (disponível para EKS >= 1.29). |
Ubuntu 2404 |
Indica que a imagem EKS AMI baseada no Ubuntu 24.04 LTS (Noble) deve ser usada (disponível para EKS >= 1.31). |
UbuntuPro2404 |
Indica que a imagem EKS AMI baseada no Ubuntu Pro 24.04 LTS (Noble) deve ser usada (disponível para EKS >= 1.31). |
Bottlerocket |
Indica que a imagem EKS AMI baseada em Bottlerocket deve ser usada. |
WindowsServer2019 FullContainer |
Indica que a imagem da AMI do EKS baseada no contêiner completo do Windows Server 2019 deve ser usada. |
WindowsServer2019 CoreContainer |
Indica que a imagem da AMI do EKS baseada no contêiner principal do Windows Server 2019 deve ser usada. |
WindowsServer2022 FullContainer |
Indica que a imagem EKS AMI baseada no Windows Server 2022 Full Container deve ser usada. |
WindowsServer2022 CoreContainer |
Indica que a imagem EKS AMI baseada no Windows Server 2022 Core Container deve ser usada. |
Exemplo de bandeira CLI:
eksctl create cluster --node-ami-family=AmazonLinux2
Exemplo de arquivo de configuração:
nodeGroups: - name: ng1 instanceType: m5.large amiFamily: AmazonLinux2 managedNodeGroups: - name: m-ng-2 instanceType: m5.large amiFamily: Ubuntu2204
A --node-ami-family
bandeira também pode ser usada comeksctl create nodegroup
. eksctl
exige que a família AMI seja definida explicitamente por meio do arquivo de configuração ou via sinalização da --node-ami-family
CLI, sempre que estiver trabalhando com uma AMI personalizada.
nota
No momento, os grupos de nós gerenciados pelo EKS oferecem suporte apenas às seguintes famílias de AMI ao trabalhar com versões personalizadas AMIs:AmazonLinux2023
,,AmazonLinux2
, e Ubuntu1804
Ubuntu2004
Ubuntu2204
Suporte à AMI personalizada do Windows
Somente grupos de nós autogerenciados do Windows podem especificar uma AMI personalizada. amiFamily
deve ser definido como uma família de AMI do Windows válida.
As seguintes PowerShell variáveis estarão disponíveis para o script de 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
Exemplo de arquivo de configuração:
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
Suporte personalizado para AMI da Bottlerocket
Para nós Bottlerocket, o não overrideBootstrapCommand
é suportado. Em vez disso, para designar seu próprio contêiner de bootstrap, deve-se usar o bottlerocket
campo como parte do arquivo de configuração. Por exemplo:
nodeGroups: - name: bottlerocket-ng ami: ami-custom1234 amiFamily: Bottlerocket bottlerocket: enableAdminContainer: true settings: bootstrap-containers: bootstrap: source: <MY-CONTAINER-URI>