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 para imagens sem GPU e 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 | Description |
|---|---|
|
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
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,, BottlerocketUbuntu2004, e UbuntuPro2004 Ubuntu2204 Ubuntu2404
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 | Description |
|---|---|
|
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, recover 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). |
|
Foguete de garrafas |
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. eksctlexige 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,, BottlerocketUbuntu2004, e UbuntuPro2004 Ubuntu2204 Ubuntu2404
Suporte à AMI personalizada do Windows
Somente grupos de nós autogerenciados do Windows podem especificar uma AMI personalizada. amiFamilydeve 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>