본문 바로가기
쿠버네티스 기타

AWS Fargate on EKS 실전 사용하기

by SAMSUNG CLOUD-OKY 2020. 10. 27.
반응형

www.youtube.com/watch?v=N0uLK5syctU&list=WL&index=1&t=1013s

 

 

 

 

## Fargate on EKS

 

- Fargate (ECS)

  : 완전 관리형 컨테이너 서비스

  : 범용 목적의 서버리스 컨테이너

 

- EKS

  : 관리형 쿠버네티스 서비스

  : EC2 노드그룹을 Worker로 사용

 

- EKS + Fargate

  : Fargate에 EKS의 APP 배포 가능

  : 오케스트레이터 (쿠버네티스)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

## 관리해야하는 EC2 인스턴스가 존재하지 않음

- 하지만 Fargate on EKS가 모든 것을 해결해 주지는 않음.

 

 

 

 

 

 

## 관리의 복잡도가 줄어듭니다.

- Cluster Autoscaler 를 사용할 필요가 없습니다.

- 비용 청구의 단위가 Pod의 실행 시간이 됩니다.

- Pod를 사용해도 VM수준의 격리가 가능합니다.

- 기존 어플리케이션의 변경없이 Fargate로 이전할 수 있습니다.

 

 

 

 

 

 

 

## Stateless하고 리소스를 크게 요구하지 않으며 특별한 권한이 필요없는 워크로드

 

 

 

 

 

 

 

## Use Case

- EKS를 Fargate 와 EC2 인스턴스 영역으로 나눠 사용

  : Fargate on EKS에는 Stateless한 서버

  : EKS (EC2 인스턴스)에는 Statefull 한 서버

 

 

 

 

 

 

 

## Fargate Profile (프로파일 생성)

- Fargate 에 포드를 생성하는 조건을 명시

 

 

 

 

## Fargate on EKS 사용방법

1. default 네임스페이스에서

2. my-allocation-label이 alice 인 경우

3. Fargate 에 Pod를 생성한다.

 

 

 

 

 

 

 

 

1. 일반 Pod의 경우

2. Fargate Profile 조건과 일치할 경우

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

## Fargate on EKS 사용해보기 (Demo)

1. 최신 버전의 EKS 클러스터 준비

2. Fargate Profile 생성

3. Pod 생성하기

 

 

 

 

## Pod를 Fargate 에 스케줄링할 조건을 명시

- namespace : kube-system

- labels : kube-dns

 

 

 

 

 

 

 

 

 

## json 파일로 Fargate 프로파일 생성

- aws eks create-fargate-profile \ --cli-input-json file://demo.json \ --region ap-northeast-1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

## CoreDNS Pod가 Fargate에 할당되었고, IP도 할당받았음.

 

 

 

 

 

 

 

 

 

 

## EKS + Fargate 네트워크 구조

- 노드의 IP와 Pod의 IP가 동일함

 

 

 

 

 

 

 

 

 

 

 

 

 

 

## Node IP = Pod IP

 

 

 

 

 

## 1개의 Pod = 1개의 Node

- 최대 5000개의 Pod만 사용 가능

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

## compute-type 주석의 우선순위가 더 높음 (강제로 EC2에 생성)

 

 

 

 

 

 

 

 

## 요금 체계

 

 

 

 

 

 

 

 

 

 

 

 

## 무조건 Fargate on EKS가 저렴하지 않을 수도 있음

 

 

 

 

 

 

 

 

 

 

 

제약 사항


다른 AWS 서비스와 마찬가지로 제약사항이 존재합니다. 다음과 같습니다.

 

  • GPU 컴퓨팅 자원 사용 불가능: Fargate는 GPU 컴퓨팅 자원이 없기 때문에 GPU 사용을 고려하신다면 EKS최적화 AMI를 이용하여 EC2 Worker node를 구성해야 합니다
  • CLB / NLB 사용 불가: EC2기반에선 CLB / NLB 모두 활용 가능하나 Fargate에선 ALB만 활용이 가능합니다
  • Kubernates의 Host 기준 옵션 사용 불가: 데몬셋(daemonset)은 클러스터 전체에 worker노드의 호스트당 pod를 띄울때 사용하는 컨트롤러 입니다하지만 Fargate에는 host가 없으므로 demonset은 지원하지 않습니다. 이와 마찬가지로 worker node 호스트 네트워크에 직접 연결하는 Hostport, Hostnetwork와 같은 기능을 사용할 수 없습니다
  • 영구적인 ​볼륨 또는 파일 시스템이 필요한 볼륨을 제공하지 않음: Pod실행 시 컨테이너 이미지 계층 스토리지 10GB, 마운트를 위한 볼륨 4GB이 제공되며 이 스토리지는 휘발성이라 Pod 중지시 스토리지가 삭제됩니다

 

 

 

 

 

 

 

 

반응형

댓글