IT/AWS

(AWS)EKS 구성하기-1

선지92 2021. 1. 2. 00:12

이번에 우연한 계기로 필자는 AWS에 EKS를 구성해볼 기회가 생겨 최근에 조그마하게 경험을 해봤습니다.

그걸 토대로 이번에 EKS를 구성하는 방법을 적어보고자 합니다.

먼저 EKS란 간단하게 AWS 환경에서 제공하는 쿠버네티스 관리형 서비스라고 보시면 됩니다.

먼저 이를 구성하는 방법에는 아래와 같이 나열할 수 있을 것 같습니다.

1. AWS 콘솔을 통한 구성

2. eksctl 을 통한 구성

3. 테라폼을 통한 구성

이번에 진행할 땐 AWS 콘솔을 통해서 진행하는 방식으로 작성하도록 하겠습니다.

먼저, EKS 구성을 진행하기 앞서 IAM Role 부터 만들어주고 시작하겠습니다.

하나는 EKS 서비스 및 클러스터에 관련된 Role이고, 나머지 하나는 WorkerNode에 관련된 Role이라고 보시면 됩니다.

Role은 아래와 같이 만들어주시면 기본적인 구성하시는데 문제가 없습니다.

1. eksServiceRole

 

2. eksWorkerNodeRole

이렇게 Role을 만들어 주신 후엔 이어서 EKS 서비스를 올릴 VPC를 생성해줘야하는데요.

이 과정을 단순하게 VPC 생성 후 서브넷을 나누시고 하는 과정을 직접하셔도 되겠지만, 이 를 좀 더 쉽게 할 수 있도록 AWS에선 yaml 파일로 템플릿을 제공하고 있기에 이것을 사용하는 것을 권장드립니다. 템플릿을 안사용하고 따로 만들어서 해봤지만 시간만 엄청 들이고 실패하다가 vpc 날리고, 템플릿을 통해서 진행하니 바로 되서 가능하다면 yaml을 통한 cloudformation을 이용하는걸 권해드립니다.

첨부파일

amazon-eks-vpc-private-subnets.yaml
0.01MB

해당 yaml 파일은 CloudFormation에 스택을 생성할 때 사용할 수 있는데요, 이를 통해서 진행하면 아주 쉽고 빠르게 진행하실 수 있습니다.

그럼 순서대로 VPC를 생성하기 위해 스택을 생성하는 과정을 진행하겠습니다.

먼저 cloudformation 홈으로 들어가서 create stack을 눌러줍니다.

그럼 아래와 같은 템플릿 올리는 부분이 있는데 이 때, S3 URL 또는 정의된 Yaml 파일을 업로드하시면 됩니다.

S3 Url을 사용하실 경우에는

https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml을 입력하시면 되고 아니면 위에 링크해둔 파일을 다운로드하셔서 업로드하셔서 사용하시면 됩니다.

그리고 이번에 사용할 VPC의 서브넷의 CIDR 및 명칭을 정의해주시고 next를 누르시고, 세부 옵션을 정하신 후 "다음"을 누르시면 최종적으로 review를 보실 수 있고, 그때 create를 눌러주시면 stack이 생성되게 됩니다.

문제없이 스택이 만들어지셨다면 아래와 같은 화면을 확인하실 수 있고, 그리고 Resource 부분을 보시면 해당 Stack을 통해 생성된 Resource의 list를 확인하실 수 있습니다.

그리고 VPC 홈으로 가보시면 방금 스택을 통해서 만든 VPC를 확인하실 수 있습니다.

그러면 이렇게 만들어진 VPC 와 서브넷 위에 EKS 클러스터 및 노드를 올리도록 하겠습니다.

EKS 홈으로 들어가신 후에 왼쪽 목록에 Clusters를 누르시고 Create Cluster를 눌러줍니다.

그러면 이제 Cluster에 명칭 및 그에 맞는 Role을 설정하게 되어 있습니다.

Cluster로 사용할 이름을 기입해주시고, 밑에 Role은 앞서 생성하셨던 Role 중 eksServiceRole을 선택해줍니다.

그 후에 Cluster를 구성할 VPC 및 서브넷을 선택해주시고 난 후 Security Group을 선택하실 땐 스택을 통해서 생성된 ControlPlane 명칭으로 되어있는 SG를 선택해주시면 됩니다.

그리고 cluster의 엔드 포인트 접근에 대해서 선택해주시고 다음을 눌러줍니다.

Cluster 운영하면서 Logging 에 대한 설정을 해주시고 다음을 누르시면 Review가 뜨게 되고 거기서 create를 누르시면 Cluster는 생성되기 시작합니다.

해당 Logging 설정 후 차후에 설정하실 수 있기에 일단은 api server에 대해서만 활성화 처리하도록 하겠습니다.

Cluster를 생성하는 데에는 대략 수분에서 15분 정도가 소요됩니다. 그렇게 기다리고 난 후에 별 문제 없이 Cluster를 생성하시면 아래와 같은 화면을 보실 수 있습니다.

 

이렇게 되면 이제 EKS 서비스를 올릴 수 있는 클러스터를 구성이 완료되었는데요. 이제 여기다가 Worker Node를 올리고 사용하시면 되는데요 해당 글은 다음 글에서 이어서 적도록 하겠습니다.

 

감사합니다.