기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
사용자 지정 AMI 지원
노드 AMI ID 설정
--node-ami
플래그를 사용하면 사용자 지정 AMI를 사용하거나 AWS를 실시간으로 쿼리하여 사용할 AMI를 결정하는 등 다양한 고급 사용 사례를 사용할 수 있습니다. 플래그는 GPU가 아닌 이미지와 GPU 이미지 모두에 사용할 수 있습니다.
플래그는 명시적으로 사용할 이미지의 AMI 이미지 ID를 가져올 수 있습니다. 또한 다음과 같은 '특수' 키워드를 사용할 수 있습니다.
키워드 | 설명 |
---|---|
auto |
AWS EC2를 쿼리하여 노드에 사용할 AMI를 찾아야 함을 나타냅니다. 이는 자동 해석기와 관련이 있습니다. |
auto-ssm |
AWS SSM 파라미터 스토어를 쿼리하여 노드에 사용할 AMI를 찾아야 함을 나타냅니다. |
참고
--node-ami
를 ID 문자열로 설정할 때 eksctl
는 사용자 지정 AMI가 요청되었다고 가정합니다. EKS 관리형 노드와 자체 관리형 노드인 AmazonLinux2 및 Ubuntu 노드의 경우 overrideBootstrapCommand
가 필요합니다. AmazonLinux2023의 경우 노드 부트스트래핑에 대한 /etc/eks/bootstrap.sh
스크립트 사용을 중지하므로 nodeadm 초기화 프로세스(자세한 내용은 노드 부트스트래핑 문서overrideBootstrapCommand
에 유리하게 지원되지 않습니다.
CLI 플래그 예제:
eksctl create cluster --node-ami=auto # with a custom ami id eksctl create cluster --node-ami=ami-custom1234
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>
--node-ami
플래그는 에서도 사용할 수 있습니다eksctl create nodegroup
.
노드 AMI 패밀리 설정
는 다음 키워드를 사용할 --node-ami-family
수 있습니다.
키워드 | 설명 |
---|---|
AmazonLinux2 |
Amazon Linux 2 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다(기본값). |
AmazonLinux2023 |
Amazon Linux 2023 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다. |
Ubuntu2004 |
Ubuntu 20.04 LTS(포컬) 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다(EKS """ 1.29 지원). |
UbuntuPro2004 |
Ubuntu Pro 20.04 LTS(Focal) 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다(EKS >= 1.27, "" 1.29에 사용 가능). |
Ubuntu2204 |
Ubuntu 22.04 LTS(Jammy) 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다(EKS >= 1.29에 사용 가능). |
UbuntuPro2204 |
Ubuntu Pro 22.04 LTS(Jammy) 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다(EKS >= 1.29에 사용 가능). |
Ubuntu2404 |
Ubuntu 24.04 LTS(Noble) 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다(EKS >= 1.31에 사용 가능). |
UbuntuPro2404 |
Ubuntu Pro 24.04 LTS(Noble) 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다(EKS >= 1.31에 사용 가능). |
Bottlerocket |
Bottlerocket 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다. |
WindowsServer2019FullContainer |
Windows Server 2019 Full Container 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다. |
WindowsServer2019CoreContainer |
Windows Server 2019 Core Container 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다. |
WindowsServer2022FullContainer |
Windows Server 2022 Full Container 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다. |
WindowsServer2022CoreContainer |
Windows Server 2022 Core Container 기반 EKS AMI 이미지를 사용해야 함을 나타냅니다. |
CLI 플래그 예제:
eksctl create cluster --node-ami-family=AmazonLinux2
Config 파일 예제:
nodeGroups: - name: ng1 instanceType: m5.large amiFamily: AmazonLinux2 managedNodeGroups: - name: m-ng-2 instanceType: m5.large amiFamily: Ubuntu2204
--node-ami-family
플래그는 에서도 사용할 수 있습니다eksctl create nodegroup
. eksctl
에서는 사용자 지정 AMI로 작업할 때마다 구성 파일 또는 --node-ami-family
CLI 플래그를 통해 AMI 패밀리를 명시적으로 설정해야 합니다.
참고
현재 EKS 관리형 노드 그룹은 사용자 지정 AMI로 작업할 때 , AmazonLinux2023
, AmazonLinux2
Ubuntu1804
Ubuntu2004
및 AMIs 패밀리만 지원합니다. Ubuntu2204
Windows 사용자 지정 AMI 지원
자체 관리형 Windows 노드 그룹만 사용자 지정 AMI를 지정할 수 있습니다.는 유효한 Windows AMI 패밀리로 설정해야 amiFamily
합니다.
부트스트랩 스크립트에 사용할 수 있는 PowerShell 변수는 다음과 같습니다.
$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
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
Bottlerocket 사용자 지정 AMI 지원
Bottlerocket 노드의 경우 overrideBootstrapCommand
는 지원되지 않습니다. 대신 자체 부트스트랩 컨테이너를 지정하려면 bottlerocket
필드를 구성 파일의 일부로 사용해야 합니다. 예:
nodeGroups: - name: bottlerocket-ng ami: ami-custom1234 amiFamily: Bottlerocket bottlerocket: enableAdminContainer: true settings: bootstrap-containers: bootstrap: source: <MY-CONTAINER-URI>