AWS EKS 클러스터 구축

[참조]https://potato-yong.tistory.com/126

AWS CLI 설치

링크: https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/getting-started-install.html

가장 먼저 PC에 AWS CLI를 OS 환경에 맞추어 설치한다.

AWS CLI Configure 구성

기존에 생성했던 Access Key ID와 AWS Secret Access Key를 확인한다.

확인 방법:

  • Access Key ID: AWS 계정에서 보안 자격 증명에서 확인 가능
  • Secret Access Key: 생성 시에만 확인 또는 다운로드 가능

이후 터미널을 열고 설정 완료한다.

aws configure

입력 사항:

  • AWS Access Key ID: 위에서 확인한 Access Key ID
  • AWS Secret Access Key: 위에서 확인한 Secret Access Key
  • Default region name: ap-northeast-2(서울)
  • Default output format: json(기본 설정)

IAM 역할 생성

EKS 클러스터 IAM 역할 생성

IAM - 역할 - 역할 만들기 클릭

그림1

EKS - Cluster 사용 사례를 클릭해준다.

그림2

AmazonEKSClusterPolicy 권한 정책을 추가해준다.

그림3

이름과 설명을 입력한다.

EKS 워커노드 IAM 역할 생성

워커노드에 해당되는 EC2의 역할을 생성해준다.

IAM - 역할 - 역할 만들기 클릭

그림4

EC2 사용 사례를 클릭해준다.

다음 3가지 역할 추가

  • AmazonEKS_CNI_Policy
  • AmazonEKSWorkerNodePolicy
  • AmazonEC2ContainerRegistryReadOnly

그림5

그림6

이름과 설명을 입력한다.

VPC 및 서브넷 생성

EKS에 사용되는 VPC 및 서브넷을 생성하기 위해 AWS에서 제공하는 CloudFomration Stack을 이용해 생성한다.

그림7

  • 템플릿 소스:
    https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
    
  • 참조 링크: https://docs.aws.amazon.com/ko_kr/eks/latest/userguide/creating-a-vpc.html

이름 설정

그림8

파라미터 설정

그림9

EKS 클러스터 생성

EKS - 클러스터 - 클러스터 생성

클러스터 구성

그림10

앞서 생성한 클러스터 역할을 선택한다.

아래 첨부된 내용과 같이 최신 쿠버네티스 버전은 제약이 있기 때문에 1.21 버전을 선택한다.

그림11

네트워킹 지정

그림12

  • VPC: 앞서 생성한 VPC 선택
  • 서브넷: 앞서 생성한 Private 서브넷 선택
  • 보안 그룹: VPC 스택에서 생성된 보안 그룹 선택

그림13

퍼블릭 및 프라이빗으로 선택한다.

kubeconfig 생성

로컬환경에서 kubectl 명령어를 사용해 쿠버네티스 클러스터에 접근하기 위해 다음 명령어를 통해 config 파일을 생성해준다.

aws eks --region ap-northeast-2 update-kubeconfig --name <cluster 이름>

워커 노드 그룹 생성

EKS - 클러스터 - 생성한 클러스터 선택 - 노드 그룹 추가 클릭

노드 그룹 구성

그림14

역할은 앞서 생성했던 워커 노드 역할 선택

컴퓨팅 및 조정 구성 설정

다음과 같이 설정한다.

그림15

  • AMI 유형: Amazon Linux 2
  • 용량 유형: On-Demand
  • 인스턴스 유형: t3.medium(최소 사양)
  • 디스크 크기: 20GB

그림16

원하는 노드 수로 설정한다.

노드 그룹 네트워크 구성

다음과 같이 설정한다.

그림17

  • 서브넷: 앞서 생성해둔 Pirvate 서브넷 2개
  • SSH 키 페어: 워커 노드에 접근할 키 페어로 생성하지 않았다면 생성 후 선택
  • 보안 그룹: 워커 노드에 적용되는 보안 그룹 선택

AWS를 통한 EKS 클러스터 완성

[참조]https://potato-yong.tistory.com/126

끝!