TOP
class="layout-aside-left paging-number">
본문 바로가기
카테고리 없음

[Cloud] aws : aws console로 쿠버네티스 클러스터 만들기

by 기록자_Recordian 2025. 2. 28.
728x90
반응형
이전 내용
 

[Cloud] aws: ECR(Amazon Elastic Container Registry)

이전 내용 [Cloud] 도커로 DB 연결하기이전 내용 [Cloud] 컨테이너 이미지 경량화 시키기이전 내용 [Cloud] 도커 허브에서 컨테이너 이미지 다운로드 & 업로드하기이전 내용 [Cloud] 컨테이너 이미지,

puppy-foot-it.tistory.com


EKS, 쿠버네티스?
클러스터의 구성 요소와 작동 방식

 

EKS에서 쿠버네티스 클러스터를 만드는 것을 실습하기 전에, EKS와 쿠버네티스, 클러스터의 개념에 대해 간략히 설명하면,

  • EKS(Elastic kubernetes service): 쿠버네티스 클러스터를 손쉽게 구축 및 관리할 수 있게 해주는 AWS 서비스 중의 하나
  • 쿠버네티스(Kubernetes): 컨테이너화된 애플리케이션의 배포, 확장, 관리 등을 자동화하는 오픈소스 플랫폼
  • 쿠버네티스 클러스터: 쿠버네티스를 운영하기 위한 환경 제공

[쿠버네티스 클러스터 구성 요소]
- 마스터 노드 (Master Node) 또는 컨트롤 플레인

  • 클러스터의 관리 및 제어 담당.
  • API 서버, 컨트롤러 매니저, 스케줄러 등의 컴포넌트로 구성.
  • 클러스터의 상태를 지속적으로 모니터링하고, 애플리케이션의 배포 및 관리 조정.

- 워커 노드 (Worker Node)

  • 실제 애플리케이션이 실행되는 노드.
  • 각 워커 노드는 Kubelet과 Kube-Proxy 같은 구성 요소 포함.
  • 컨테이너 런타임(예: Docker, containerd)을 통해 애플리케이션 컨테이너 실행.

마스터노드의 경우 엔진을 설치하는 역할을 하며, AWS에서  관리한다. 

워커노드의 경우 컨테이너를 설치하는 역할을 하며, 계정 주인(기업 또는 개인)이 직접 관리한다.

워커노드가 몸이라면, 마스터노드는 몸을 움직이는 두뇌라고 보면 된다. (단, 마스터노드는 AWS에서 알아서 운영하나, 그 운영비용은 고객에게 청구된다.)

 

[쿠버네티스 클러스터의 작동 방식]

  • 배포: 사용자는 원하는 애플리케이션의 상태를 정의하고, 쿠버네티스는 이를 바탕으로 배포 작업 수행.
  • 오토스케일링: 클러스터는 트래픽에 따라 자동으로 애플리케이션의 인스턴스를 추가하거나 제거할 수 있는 기능 제공.
  • 서비스 디스커버리: 클러스터 내의 여러 서비스가 서로를 쉽게 찾고 통신할 수 있도록 도와줌.

[사용 장점]

  • 유연성: 다양한 클라우드 환경에서 쉽게 배포 및 관리 가능.
  • 고가용성: 노드 중 일부가 실패해도 애플리케이션의 가용성을 유지 가능.
  • 자원 효율성: 클러스터의 자원을 효율적으로 사용하여 비용 절감.

[Cloud] 쿠버네티스(Kubernetes) 란?


EKS에 쿠버네티스 클러스터 만들기
1. AWS Management Console 사용

 

EKS에서 쿠버네티스 클러스터를 만드는 방법은 크게 두 가지가 있다.

  • AWS Management Console사용 (GUI 방식)
  • AWS CLI 또는 Terraform 사용

먼저, AWS Management Console을 사용하여 만드는 방법에 대해 실습하려 한다. 대략적인 순서를 적어보자면 아래와 같다.

AWS Management Console에 로그인 → IAM에서 역할 생성(2개) → 클러스터 생성 → 컴퓨팅 옵션에서 노드그룹 추가 역할 부여 상태가 활성화될 때까지 대기 (약 15분 소요)  →노드생성

※ 역할(롤)은 마스터 노드용, 워커 노드용 2개이며, 역할에 권한 설정도 필요

※ 역할은 각 노드에 맞게 지정해줘야 함.
클러스터 IAM 역할 - 클러스터 롤 선택
노드 IAM 역할 - 워커노드 롤 선택

[이미지로 보는 AWS Management Console에서 클러스터 생성하기]

 

1. IAM에서 역할 생성

- 역할은 클러스터 롤 / 워커노드 롤 2개 생성 필요

 

<클러스터 롤>

 

클러스터 롤 생성 후 권한 부여 필요

 

<워커노드 롤>

 

권한에 4가지 정책 추가 (이는 사용환경이나 프로젝트에 따라 상이)

 

 

2. EKS에서 클러스터 생성

 

쿠버네티스 버전의 경우, 홀수로 끝나는 버전은 보통 테스트용이므로 지양하며, 클러스터 역할은 앞서 생성한 클러스터 롤을 선택

 

노드 IAM 역할에는 앞서 만든 워커노드 역할을 선택하고,

서브넷의 경우 Private 서브넷을 선택

 

3. 클러스터 생성 후 활성화 된 뒤 노드 그룹 추가하기

클러스터의 옵션에서 컴퓨팅을 선택한 후 노드 그룹을 구성해 줘야 한다.

 

노드 그룹 구성 클릭 후 이름을 입력하고 역할 (워커노드 롤) 선택

 

노드 그룹 컴퓨팅 구성 옵션도 입력하는데, 인스턴스 유형의 경우 실제로는 최소 medium 이상은 되어야 하나, 실습을 위해 (왜냐하면 EKS 클러스터를 만드는 것만으로 기존의 aws 서비스들보다 많은 비용이 청구될 수 있으므로) 저렴한 micro 선택

 

노드 그룹 조정 구성 항목 역시 입력해주고 (되도록 원하는 크기와 최소 크기가 같도록 함)

※ 최대 크기는 AWS에서 필요하다고 판단될 때(용량 부족 시) 자동으로 노드를 늘리는 데 (Auto Scailing) 최대로 늘릴 수 있는 크기를 설정하는 것이다. 대신 노드가 늘어날수록 비용이 증가하기 때문에 컨테이너 이미지 경량화를 반드시 해야 한다.

 

서브넷을 선택해 준다 (프라이빗 서브넷)

 

이렇게 하면 AWS Management Console에서 쿠버네티스 클러스터 생성이 완료된다.

 

이 방법의 장점은

  • 사용자 친화적인 인터페이스 제공
  • 단계별 안내로 초기 사용자가 쉽게 접근할 수 있음

단, 작업을 일일이 진행해줘야 하는 번거로움이 있고, 삭제할 때 역시 하나 하나씩 삭제해줘야 한다.

이를 aws console에 접속하지 않고 간편하게 할 수 있는 방법이 있는데, 이게 바로 이어 설명할 aws cli 방식이다.


다음 내용

 

[Cloud] aws : aws cli 로 쿠버네티스 클러스터 만들기

이전 내용 [Cloud] aws : aws console로 쿠버네티스 클러스터 만들기이전 내용 [Cloud] aws: ECR(Amazon Elastic Container Registry)이전 내용 [Cloud] 도커로 DB 연결하기이전 내용 [Cloud] 컨테이너 이미지 경량화 시

puppy-foot-it.tistory.com

 

728x90
반응형