이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
최적의 Amazon EC2 노드 인스턴스 유형 선택
Amazon EC2에서는 워커 노드에 대한 다양한 인스턴스 유형을 제공합니다. 인스턴스 유형마다 서로 다른 컴퓨팅, 메모리, 스토리지 및 네트워크 기능을 제공합니다. 또한 각 인스턴스는 이러한 기능에 따라 한 인스턴스 패밀리로 그룹화됩니다. 목록은 Amazon EC2 사용 설명서의 사용 가능한 인스턴스 유형을 참조하세요. Amazon EKS에서는 Amazon EC2 AMI의 여러 변형을 출시하여 지원을 사용 설정합니다. 선택한 인스턴스 유형이 Amazon EKS와 호환되는지 확인하려면 다음 기준을 고려하세요.
-
일부 Amazon EKS AMI에서는 현재
mac패밀리를 지원하지 않습니다. -
Arm 및 가속화되지 않은 Amazon EKS AMI에서는
g3,g4,inf및p패밀리를 지원하지 않습니다. -
가속화된 Amazon EKS AMI에서는
a,c,hpc,m및t패밀리를 지원하지 않습니다. -
ARM 기반 인스턴스에서 Amazon Linux 2023(AL2023)은 Graviton2 이상 프로세서를 사용하는 인스턴스 유형만 지원합니다. AL2023은
A1인스턴스를 지원하지 않습니다.
Amazon EKS에서 지원하는 인스턴스 유형 중에서 선택하는 경우 각 유형의 다음 기능을 고려하세요.
- 노드 그룹의 인스턴스 수
-
특히 DaemonSet이 많은 경우 일반적으로 수는 적고 크기는 큰 인스턴스가 더 좋습니다. 각 인스턴스에는 API 서버에 대한 API 직접 호출이 필요하므로 인스턴스가 많을수록 API 서버에 더 많은 부하가 발생합니다.
- 운영 체제
-
Linux, Windows 및 Bottlerocket
에 대해 지원되는 인스턴스 유형을 검토합니다. Windows 인스턴스를 생성하기 전에 EKS 클러스터에 Windows 노드 배포를 검토합니다. - 하드웨어 아키텍처
-
x86 또는 Arm이 필요하나요? Arm 인스턴스를 배포하기 전에 Amazon EKS 최적화 Arm Amazon Linux AMI를 검토합니다. Nitro 시스템( Linux 또는 Windows)에 구축된 인스턴스나 가속 기능이 있는 인스턴스가 필요하신가요? 가속화된 기능이 필요한 경우 Amazon EKS에서 Linux만 사용할 수 있습니다.
- 최대 포드 수
-
각 포드에 고유한 IP 주소가 할당되므로 인스턴스 유형에서 지원하는 IP 주소 수는 인스턴스에서 실행할 수 있는 포드 수를 결정하는 요소입니다. 인스턴스 유형이 지원하는 포드의 수를 수동으로 확인하려면 섹션을 참조하세요.
AWS Nitro 시스템(Nitro System)
인스턴스 유형은 Nitro 시스템 이외의 인스턴스 유형보다 훨씬 많은 IP 주소를 선택적으로 지원합니다. 그러나 인스턴스에 할당된 일부 IP 주소만 포드에 사용할 수 있습니다. 훨씬 더 많은 수의 IP 주소를 인스턴스에 할당하려면 클러스터에 버전 1.9.0이상의 Amazon VPC CNI 추가 기능이 설치되어 있고 적절하게 구성되어 있어야 합니다. 자세한 내용은 접두사를 사용하여 Amazon EKS 노드에 추가 IP 주소 할당 섹션을 참조하세요. 인스턴스에 가장 많은 수의 IP 주소를 할당하려면 클러스터에 버전1.10.1이상의 Amazon VPC CNI 추가 기능이 설치되어 있어야 하며IPv6패밀리를 사용하여 클러스터를 배포해야 합니다. - IP 패밀리
-
클러스터가 포드와 서비스에 프라이빗
IPv4주소를 할당하도록 허용하는 클러스터용IPv4패밀리를 사용하는 경우 지원되는 모든 인스턴스 유형을 사용할 수 있습니다. 하지만 클러스터에 대한IPv6패밀리를 사용하려는 경우 AWS Nitro 시스템(Nitro System)인스턴스 유형 또는 베어 메탈 인스턴스 유형을 사용해야 합니다. Windows 인스턴스에는 IPv4만 지원됩니다. 클러스터에서 버전1.10.1이상의 Amazon VPC CNI 추가 기능을 실행하고 있어야 합니다.IPv6사용에 관한 자세한 내용은 클러스터, 포드 및 서비스에 대한 IPv6 주소에 대해 알아보기 부분을 참조하세요. - 실행 중인 Amazon VPC CNI 추가 기능의 버전
-
최신 버전의 Kubernetes용 Amazon VPC CNI 플러그인
은 다음 인스턴스 유형 을 지원합니다. 지원되는 최신 인스턴스 유형을 활용하려면 Amazon VPC CNI 추가 기능 버전을 업데이트해야 할 수 있습니다. 자세한 내용은 Amazon VPC CNI를 통해 포드에 IP 할당 섹션을 참조하세요. 최신 버전은 Amazon EKS에서 사용할 최신 기능을 지원합니다. 이전 버전에서는 일부 기능을 지원하지 않습니다. GitHub의 Changelog 에 있는 다양한 버전에서 지원하는 기능을 볼 수 있습니다. - 노드를 생성하는 AWS 리전
-
AWS 리전에 따라 일부 인스턴스 유형은 사용할 수 없습니다.
- 포드에 보안 그룹 사용 여부
-
포드에 보안 그룹을 사용하는 경우 특정 인스턴스 유형만 지원됩니다. 자세한 내용은 개별 포드에 보안 그룹 할당 섹션을 참조하세요.
maxPods 결정 방법
노드에 적용되는 최종 maxPods 값은 특정 우선순위로 상호 작용하는 여러 구성 요소에 따라 달라집니다. 이 순서를 이해하면 maxPods를 사용자 지정할 때 예기치 않은 동작을 방지하는 데 도움이 됩니다.
우선순위(가장 높은 순서에서 낮은 순서):
-
관리형 노드 그룹 적용 - 사용자 지정 AMI 없이 관리형 노드 그룹을 사용하는 경우 Amazon EKS는 노드 사용자 데이터의
maxPods에 최대 한도를 적용합니다. vCPU가 30개 미만인 인스턴스의 경우 최대 한도는110입니다. vCPU가 30개를 초과하는 인스턴스의 경우 최대 한도는250입니다. 이 값은maxPodsExpression을 포함하여 다른maxPods구성보다 우선합니다. -
kubelet
maxPods구성 - kubelet 구성에서 직접maxPods를 설정하는 경우(예: 사용자 지정 AMI를 사용하는 시작 템플릿을 통해) 이 값이maxPodsExpression보다 우선합니다. -
nodeadm
maxPodsExpression-NodeConfig에서maxPodsExpression을 사용하는 경우 nodeadm은 표현식을 평가하여 maxPods를 계산합니다. 이 방법은 우선순위가 더 높은 소스에 의해 값이 아직 설정되지 않은 경우에만 유효합니다. -
기본 ENI 기반 계산 - 다른 값이 설정되지 않은 경우 AMI는 인스턴스 유형에서 지원하는 탄력적 네트워크 인터페이스 및 IP 주소 수를 기반으로
maxPods를 계산합니다. 이는(number of ENIs × (IPs per ENI − 1)) + 2공식과 동일합니다.+ 2는 포드 IP 주소를 소비하지 않는 모든 노드에서 실행되는 Amazon VPC CNI 및kube-proxy를 고려합니다.
중요
관리형 노드 그룹을 사용하고 NodeConfig에서 maxPodsExpression을 설정하면 관리형 노드 그룹의 적용이 표현식을 재정의합니다. 관리형 노드 그룹에서 사용자 지정 maxPods 값을 사용하려면 시작 템플릿에서 사용자 지정 AMI를 지정하고 maxPods를 직접 설정해야 합니다. 자세한 내용은 시작 템플릿을 사용한 관리형 노드 사용자 지정 섹션을 참조하세요.
관리형 노드 그룹과 자체 관리형 노드 비교
사용자 지정 AMI 없이 관리형 노드 그룹을 사용하면 Amazon EKS가 노드의 부트스트랩 사용자 데이터에 maxPods 값을 주입합니다. 이는 다음을 의미합니다.
-
maxPods값은 항상 인스턴스 크기에 따라110또는250으로 제한됩니다. -
구성한 모든
maxPodsExpression은 이 주입된 값으로 재정의됩니다. -
다른
maxPods값을 사용하려면 시작 템플릿에서 사용자 지정 AMI를 지정하고--use-max-pods false를--kubelet-extra-args '--max-pods=와 함께my-value'bootstrap.sh스크립트로 전달합니다. 예시는 시작 템플릿을 사용한 관리형 노드 사용자 지정 섹션을 참조하세요.
자체 관리형 노드를 사용하면 부트스트랩 프로세스를 완벽하게 제어할 수 있습니다. NodeConfig에서 maxPodsExpression을 사용하거나 bootstrap.sh에 --max-pods를 직접 전달할 수 있습니다.
EKS Auto Mode 고려 사항
EKS Auto Mode는 노드의 포드 수를 다음 중 더 낮은 값으로 제한합니다.
-
110 포드 하드 캡
-
위에서 설명한 최대 포드 계산 결과입니다.