INTRO
AWS 의 Kubernetes 플랫폼인 EKS를 생성하는 방법에 대해 포스팅한다.
0. 들어가기에 앞서
- 실습을 위해 nginx 서버 이미지 하나를 아래와 같은 형상으로 배포해볼것이다.
이미지 출처 :
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을 사용해도 무방하나,
- 신규로 생성해서 사용해 볼 것이다.
- 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분 정도의 시간이 소요될 수 있다.
마무리
클러스터를 생성하기 위한 준비와 함께 클러스터를 생성해보았다.
다음 포스팅은 이 클러스터를 활용한 다양한 기능들에 대해 적어보겠다.
-퍼가실 때는 출처를 꼭 같이 적어서 올려주세요!
'DevOps > [AWS]' 카테고리의 다른 글
[AWS EKS] Application LoadBalancer(Ingress) IP주소 고정하기(ALB, NLB 사용) (0) | 2022.11.02 |
---|---|
[AWS EKS] AWS EKS 구축하기 -3 (0) | 2022.09.29 |
[AWS EKS] AWS EKS 구축하기 -2 (0) | 2022.09.27 |
[AWS] Linux 환경에서 AWS CLI 설치 (0) | 2022.09.26 |
[AWS] EC2 인스턴스 생성해보기 (0) | 2021.12.16 |