본문 바로가기

DevOps/[AWS]

[AWS EKS] AWS EKS 구축하기 -1

반응형

 

INTRO


 

AWS 의 Kubernetes 플랫폼인 EKS를 생성하는 방법에 대해 포스팅한다.

 

 

 


 

0. 들어가기에 앞서

- 실습을 위해 nginx 서버 이미지 하나를 아래와 같은 형상으로 배포해볼것이다.

실제 실습해 볼 ingress를 쿠버네티스 홈페이지에서 가져온 이미지 옆에 추가했다.

이미지 출처 :

https://kubernetes.io/docs/tutorials/kubernetes-basics/expose/expose-intro/

 

Using a Service to Expose Your App

<!DOCTYPE html> Objectives Learn about a Service in Kubernetes Understand how labels and LabelSelector objects relate to a Service Expose an application outside a Kubernetes cluster using a Service Overview of Kubernetes Services Kubernetes Pods are mortal

kubernetes.io

- 또한 kubernetes를 처음 접해보는 입장에서 선배들과 AWS 가이드, 구글링 등을 통해 정리한 내용이라 내용이 부실할 수 있다는 점을 양해 바란다.(출처는 명확하게 남기도록 할 것이다.)

 

 

 

 

1. IAM Role 생성

- EKS 생성을 위해선 클러스터 서비스 역할이 필요하다.

- 기존 default로 만들어져있는 myAmazonEKSClusterRole을 사용해도 무방하나,

- 신규로 생성해서 사용해 볼 것이다.

Role을 새로 만들어 사용할 예정

 

 

 

- IAM Management페이지 -> 역할 -> 역할 만들기

 

- 신뢰할 수 있는 엔터티 유형 - AWS 서비스

- 사용 사례 - EKS -> EKS Cluster 선택

 

 

 

- 권한 선택 페이지에서 다음 클릭

 

- 고유한 역할 이름 입력 후 역할 생성

 

 

 

- 위 과정을 튜토리얼 문서에 있는 아래와 같은 방법으로도 생성 가능하다.

 

 

 

2. VPC, NAT gateway, Routing Table 등의 필요 리소스 추가

- 클러스터를 생성하기 위해선  Amazon VPC와 함께 네트워크 설정이 필요하다.

- VPC 서브넷 구성은 private 2개, public 2개.

- 이들을 접속 가능하게 하는 NAT Gateway, Routing Table들을 설정해야한다.

 

- aws eks tutorial 문서에서는 이를 간단하게 생성할 수 있는 aws cli 명령어 예시를 보여준다.

https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/getting-started-console.html

 

Amazon EKS 시작하기 - AWS Management Console 및 AWS CLI - Amazon EKS

시스템은 추가한 Fargate 프로파일 레이블을 기반으로 2개의 노드를 생성하고 배포합니다. Fargate 노드에 적용할 수 없기 때문에 노드 그룹(Node Groups)에 아무 것도 표시되지 않지만 개요(Overview) 탭

docs.aws.amazon.com

- aws cli 설치가 필요한 분들은 아래 포스팅을 참고하길 바란다.

2022.09.26 - [Programming/[AWS]] - [AWS] Linux 환경에서 AWS CLI 설치

 

- 하기 명령어에 본인의 region-code 와 고유한 stack name을 적어준다.

$ aws cloudformation create-stack \
  --region {region-code} \
  --stack-name {my-eks-vpc-stack} \
  --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml

- 아마존에서 제공하는 cloudformation 템플릿대로 VPC 환경을 알아서 구축한다.

- vpc 페이지에서 방금 생성한 이름-VPC로 VPC환경이 구성된 것을 확인할 수 있고

- 서브넷을 확인해보면 private 2개, public 2개가 생성된 것을 확인할 수 있을것이다.

 

 

- cloudformation 페이지에서는 방금 생성한 stack 을 확인할 수 있다.(리소스는 필자 기준 22개가 생성되어있었다.)

 

 

3. EKS 생성

- 클러스터 이름과 위에서 생성한 역할을 선택하고 다음 선택

 

- 기존 생성한 VPC를 선택하면, 서브넷 4개가 자동으로 선택된다.

- 이외 설정은 기본값으로 두고 다음 선택

 

- 로깅 구성 화면도 기본값으로 두고 다음 선택

 

- 검토 및 생성 화면에서도 생성 버튼을 누르면 생성이 완료된다.

- region에 따라 다르겠지만 이 작업은 5분 정도의 시간이 소요될 수 있다.

 

 

 

 

마무리

 

클러스터를 생성하기 위한 준비와 함께 클러스터를 생성해보았다.

다음 포스팅은 이 클러스터를 활용한 다양한 기능들에 대해 적어보겠다.

 

 

 

 

 

 

-퍼가실 때는 출처를 꼭 같이 적어서 올려주세요!

 

반응형