이 페이지 개선에 도움 주기
이 사용자 가이드에 기여하려면 모든 페이지의 오른쪽 창에 있는 GitHub에서 이 페이지 편집 링크를 선택합니다.
자체 관리형 Ubuntu Linux 노드 생성
참고
관리형 노드 그룹은 사용 사례에 대한 몇 가지 이점을 제공할 수 있습니다. 자세한 내용은 관리형 노드 그룹을 사용한 노드 수명 주기 간소화 섹션을 참조하세요.
이 주제에서는 Amazon EKS 클러스터에 등록하는 Amazon Elastic Kubernetes Service(EKS)의 Ubuntu
노드가 클러스터에 조인한 이후 컨테이너화된 애플리케이션을 배포할 수 있습니다. 자세한 내용은 eksctl 설명서의 AWS 상의 Ubuntu
중요
-
Amazon EKS 노드는 표준 Amazon EC2 인스턴스이고, 일반 Amazon EC2 인스턴스 가격을 기반으로 비용이 청구됩니다. 자세한 설명은 Amazon EC2 요금
을 참조하세요. -
Ubuntu 노드를 AWSOutposts의 Amazon EKS 확장 클러스터에서 시작할 수 있지만 AWS Outposts의 로컬 클러스터에서는 시작할 수 없습니다. 자세한 내용은 AWS Outposts를 사용한 Amazon EKS 온프레미스 배포 섹션을 참조하세요.
-
x86또는 Arm프로세서가 있는 Amazon EC2 인스턴스에 배포할 수 있습니다. 하지만 Inferentia 칩이 있는 인스턴스의 경우 먼저 Neuron SDK를 설치해야 할 수 있습니다.
이 절차에는 eksctl 버전 0.212.0 이상이 필요합니다. 버전은 다음 명령을 통해 확인할 수 있습니다.
eksctl version
eksctl을 설치하거나 업그레이드하는 방법에 대한 지침은 eksctl 문서의 설치eksctl로 생성한 클러스터에서만 작동합니다.
-
다음 콘텐츠를 디바이스에 복사합니다.
my-cluster를 클러스터 이름으로 바꿉니다. 이름에는 영숫자(대소문자 구분)와 하이픈만 사용할 수 있습니다. 영문자로 시작해야 하며 100자 이하여야 합니다.ng-ubuntu을 노드 그룹의 이름으로 바꿉니다. 노드 그룹 이름은 63자를 초과할 수 없습니다. 문자나 숫자로 시작하되, 나머지 문자의 경우 하이픈과 밑줄을 포함할 수 있습니다. Arm 인스턴스에 배포하려면m5.large을 Arm 인스턴스 유형으로 바꿉니다.my-ec2-keypair-name을 시작 이후 SSH를 사용하여 노드에 연결하는 데 사용할 수 있는 Amazon EC2 SSH 키 페어 이름으로 변경합니다. Amazon EC2 키 페어가 아직 없는 경우 AWS Management 콘솔에서 새로 생성할 수 있습니다. 자세한 내용을 알아보려면 Amazon EC2 사용 설명서의 Amazon EC2 키 페어를 참조하세요. 나머지예제 값을 자신의 값으로 바꿉니다. 다 바꾼 후 수정된 명령을 실행하여ubuntu.yaml파일을 생성합니다.중요
노드 그룹을 AWS Outposts, AWS Wavelength 또는 AWS Local Zones 서브넷에 배포하려면 클러스터를 생성할 때 AWS Outposts, AWS Wavelength 또는 AWS 로컬 영역 서브넷을 전달하지 마세요. 다음 예에서는 서브넷을 지정해야 합니다. 자세한 내용은
eksctl문서에서 구성 파일을 사용하여 nodegroup 생성및 구성 파일 스키마 부분을 참조하세요. region-code를 클러스터가 있는 AWS 리전으로 바꿉니다.cat >ubuntu.yaml <<EOF --- apiVersion: eksctl.io/v1alpha5 kind: ClusterConfig metadata: name: my-cluster region: region-code version: '1.33' iam: withOIDC: true nodeGroups: - name: ng-ubuntu instanceType: m5.large desiredCapacity: 3 amiFamily: Ubuntu2204 iam: attachPolicyARNs: - arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy - arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly - arn:aws:iam::aws:policy/AmazonSSMManagedInstanceCore - arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy ssh: allow: true publicKeyName: my-ec2-keypair-name EOFUbuntu Pro 노드 그룹을 생성하려면
amiFamily값을UbuntuPro2204로 변경하면 됩니다. -
다음 명령을 사용하여 노드를 배포합니다.
eksctl create nodegroup --config-file=ubuntu.yaml예제 출력은 다음과 같습니다.
노드가 생성되는 동안 여러 줄이 출력됩니다. 출력의 마지막 줄 중 하나는 다음 예제 줄과 유사합니다.
[✔] created 1 nodegroup(s) in cluster "my-cluster" -
(선택 사항) 샘플 애플리케이션을 배포하여 Ubuntu 노드를 테스트합니다.
-
다음과 같은 조건에 해당하면 IMDS에 대한 포드 액세스를 차단하는 것이 좋습니다.
-
포드에 필요한 최소 권한만 있도록 모든 Kubernetes 서비스 계정에 IAM 역할을 할당할 계획입니다.
-
클러스터의 어떤 포드도 현재 AWS 리전 검색 등의 다른 이유로 Amazon EC2 인스턴스 메타데이터 서비스(IMDS)에 액세스할 필요가 없습니다.
자세한 내용은 워커 노드에 할당된 인스턴스 프로필에 대한 액세스 제한
섹션을 참조하세요. -