AWS EKS

현시기얌·2022년 2월 14일
0

EKS

목록 보기
1/1

AWS EKS

AWS가 제공해주는 관리형 Kubernetes Cluser

  • Control Plain을 직접 Provisioning하거나 관리하지 않아도 되서 편리하다.
  • WorkLoad가 실행되는 Node를 자유롭게 구성할 수 있다.
  • Avaliability Zone 기반의 고가용성을 제공한다.
  • 편리한 Cluser Version Upgrade를 지원한다.
  • AWS 서비스들과 통합할 수 있다.

Kubernetes Cluster

  • Kubernetes Cluser는 Control Plane과 Node들로 구성되어 있다.
  • Control Plane에는 DB역할을 하는 etcd와 Client와 통신을 하는 kube-api-server가 있고 Pod를 Schedule해주는 kube-scheduler와 Controller Manager들로 구성되어 있다.

EKS 구성

  • EKS 구성을 보면 EKS VPC와 Customer VPC가 있는데 Customer VPC가 AWS의 사용자를 의미한다.
  • 사용자가 만든 VPC 내에서 EKS내에 Kubernetes Node들을 만들 수 있다.
  • Control Plane은 EKS VPC 내의 AWS EKS Service에서 직접 운영을 해준다.
  • Control Plane과 WorkNode들은 ENI를 통해서 통신한다.

EKS 특징

LoadBalancing

  • LoadBalancer 타입 Service
    • 기본적으로 AWS ELB의 CLB(Classic Load Balancer)로 구성된다.
    • Annotation 설정을 통해 AWS ELB의 NLB(Network Load Balancer)로 구성이 가능하다.
  • Ingress (L7)
    • aws-load-balancer-controller 추가 애드온 설치가 필요하다.
    • AWS ELB의 ALB(Application Load Balancer)로 구성된다.

Pod Networking

AWS VPC CNI

  • AWS에서 기본으로 제공하는 Kubernetes Network 애드온이다.
  • AWS EC2는 VPC의 ENI를 통해 IP를 할당받는다.
  • ENI의 Secondary IP Addresses를 통해 Node내 Pod가 동일한 VPC IP 대역에서 Pod IP를 할당받는다.
    • 때문에 ENI의 IP 주소 개수 제한 만큼 Node의 Pod 개수가 제한된다.

저장소

EBS Built-in StorageClass

  • gp2 타입 EBS에 대한 StorageClss 내장되어 바로 사용가능하다.

EBS & EFS CSI Driver

  • CSI 드라이버 추가 구성을 통해 EBS/EFS 사용 및 최신 기능이 활용 가능하다.

Log 및 Metric

Control Plane

  • Cluster 생성 시 Logging 옵션을 통해 API Server, Audit, Authenticator, Scheduler, Controller Manager에 대한 Log를 Cloud Watch Logs로 수집이 가능하다.

Node

  • 기본 기능을 제공하지는 않지만, Fluentd나 Fluent Bit을 통해 CloudWatch Logs로 Pod Log 전송 가이드를 제공한다.

EKS를 사용해야 하는 이유

Cluster 운영보다는 실제 비즈니스 서비스 운영에 집중할 수 있다.

  • Control Plane을 이해하고 직접 관리하는 것은 쉬운 일이 아니다.
  • 비즈니스 성격에 따라 다르게지만 Cluster 운영과 비즈니스 서비스 운영 중 무엇이 중요한지 고민할 필요가 있다.

인프라 비용을 넘어 관리 비용도 고려

  • 직접 쿠버네티스 제어영역을 Provisioning하여 관리하는게 인프라 비용은 더 저렴할 수 있다.
  • 하지만 시스템을 관리하는 인력 및 시간에 대한 비용도 고려할 필요가 있다.
profile
현시깁니다

0개의 댓글