이 페이지 개선에 도움 주기
이 사용자 설명서에 기여하고 싶으신가요? 이 페이지 하단으로 스크롤하여 GitHub에서 이 페이지 편집을 선택하세요. 여러분의 기여는 모두를 위한 더 나은 사용자 설명서를 만드는 데 도움이 됩니다.
Amazon EKS 시작하기 – eksctl
이 가이드는 Amazon EKS에서 Kubernetes 클러스터를 생성 및 관리하기 위한 간단한 명령줄 유틸리티인 eksctl
을 사용하여 Amazon Elastic Kubernetes Service(Amazon EKS)를 시작할 때 필요한 모든 리소스를 설치하는 데 도움이 됩니다. 이 자습서의 마지막에서는 애플리케이션을 배포할 수 있는 Amazon EKS에 클러스터를 실행하게 됩니다.
이 가이드의 절차에서는 AWS Management Console을 사용하여 클러스터를 생성할 경우 수동으로 생성해야 하는 여러 리소스를 자동으로 생성합니다. 대부분의 리소스를 수동으로 만들고 리소스가 상호 작용하는 방식을 더 잘 이해하려면 AWS Management Console을 사용하여 클러스터 및 컴퓨팅을 생성합니다. 자세한 내용은 Amazon EKS 시작하기 - AWS Management Console 및 AWS CLI 단원을 참조하십시오.
사전 조건
이 자습서를 시작하기 전에 Amazon EKS를 사용하도록 설정에 설명된 대로 AWS CLI, kubectl, eksctl 도구를 설치하고 구성해야 합니다.
1단계: Amazon EKS 클러스터 및 노드 생성
중요
이 주제에는 가능한 한 간단하고 빠르게 시작하기 위해 기본 설정으로 클러스터와 노드를 생성하는 단계가 포함되어 있습니다. 프로덕션 용도로 클러스터 및 노드를 생성하기 전에 모든 설정을 숙지하고 요구 사항을 충족하는 설정으로 클러스터와 노드를 배포하는 것이 좋습니다. 자세한 내용은 Amazon EKS 클러스터 생성 및 노드를 사용하여 컴퓨팅 리소스 관리 섹션을 참조하세요. 일부 설정은 클러스터와 노드를 생성할 때만 사용 설정할 수 있습니다.
다음 노드 유형 중 하나를 사용하여 클러스터를 생성할 수 있습니다. 각 유형에 대한 자세한 내용은 노드를 사용하여 컴퓨팅 리소스 관리 부분을 참조하세요. 클러스터를 배포한 후에 다른 노드 유형을 추가할 수 있습니다.
-
Fargate – Linux – AWS Fargate에서 Linux 애플리케이션을 실행하려는 경우 이 노드 유형을 선택합니다. Fargate는 Amazon EC2 인스턴스를 관리하지 않고도 Kubernetes Pods를 배포할 수 있는 서버리스 컴퓨팅 엔진입니다.
-
관리형 노드 — Linux - Amazon EC2 인스턴스에서 Amazon Linux 애플리케이션을 실행하려면 이 노드 유형을 선택합니다. 이 가이드에서는 다루지 않지만 Windows 자체 관리형 및 Bottlerocket 노드를 클러스터에 추가할 수도 있습니다.
다음 명령을 사용하여 Amazon EKS 클러스터를 생성합니다.
를 고유한 값으로 바꿀 수 있습니다. 이름에는 영숫자(대소문자 구분)와 하이픈만 사용할 수 있습니다. 영숫자로 시작해야 하며 100자 이하여야 합니다. 이름은 클러스터를 생성하는 AWS 리전과 AWS 계정 내에서 고유해야 합니다. my-cluster
를 Amazon EKS에서 지원하는 AWS 리전으로 바꿉니다. AWS 리전 목록은 AWS 일반 참조 가이드의 Amazon EKS 엔드포인트 및 할당량을 참조하세요.region-code
클러스터 생성에 몇 분 정도 걸립니다. 생성하는 동안 여러 줄의 출력이 표시됩니다. 출력의 마지막 줄은 다음 예제와 유사합니다.
[...]
[✓] EKS cluster "my-cluster" in "region-code
" region is ready
eksctl
이 ~/.kube
에 kubectl
config
파일을 생성했거나 컴퓨터터의 ~/.kube
에 있는 기존 config
파일에 새 클러스터의 구성을 추가했습니다.
클러스터 생성이 완료되면 AWS CloudFormation 콘솔(https://console.aws.amazon.com/cloudformationeksctl-
라는 AWS CloudFormation 스택을 살펴보세요.my-cluster
-cluster
2단계: Kubernetes 리소스 보기
-
클러스터 노드를 확인합니다.
kubectl get nodes -o wide
예제 출력은 다음과 같습니다.
출력에 표시되는 항목에 대한 자세한 내용은 AWS Management Console에서 Kubernetes 리소스 보기 섹션을 참조하세요.
-
클러스터에서 실행 중인 워크로드를 확인합니다.
kubectl get pods -A -o wide
예제 출력은 다음과 같습니다.
출력에 표시되는 항목에 대한 자세한 내용은 AWS Management Console에서 Kubernetes 리소스 보기 섹션을 참조하세요.
3단계: 클러스터 및 노드 삭제
이 자습서용으로 생성한 클러스터와 노드의 사용을 끝낸 후에는 다음 명령으로 클러스터와 노드를 삭제하여 정리해야 합니다. 정리하기 전에 이 클러스터로 추가 작업을 수행하려면 다음 단계 섹션을 참조하세요.
eksctl delete cluster --name
my-cluster
--regionregion-code
다음 단계
다음은 클러스터의 기능을 확장하는 데 도움이 되는 설명서 주제입니다.
클러스터에 샘플 애플리케이션을 배포합니다.
클러스터를 생성한 IAM 보안 주체는
kubectl
또는 AWS Management Console를 사용하여 Kubernetes API 서버를 호출할 수 있는 유일한 보안 주체입니다. 다른 IAM 보안 주체가 클러스터에 액세스할 수 있게 하려면 해당 보안 주체를 추가해야 합니다. 자세한 내용은 IAM 사용자 및 역할에 Kubernetes APIs에 대한 액세스 권한 부여 및 필수 권한 단원을 참조하세요.프로덕션 용도로 클러스터를 배포하기 전에 클러스터와 노드에 대한 모든 설정을 숙지하는 것이 좋습니다. Amazon EC2 노드에 대한 SSH 액세스 사용 설정과 같은 일부 설정은 클러스터를 생성할 때 지정해야 합니다.
클러스터의 보안을 강화하려면 서비스 계정에 IAM 역할을 사용하도록 Amazon VPC 컨테이너 네트워킹 인터페이스 플러그 인을 구성합니다.