💻 CSP/AWS

[AWS] EKS(Elastic Kubenetes Service)

heywantodo 2023. 8. 12. 15:25
728x90
반응형

[AWS] EKS(Elastic Kubenetes Service)

EKS

  • 클라우드와 온프레미스 데이터센터에서 쿠버네티스를 실행하는 데
    사용되는 관리형 쿠버네티스 서비스
  • AWS 네트워킹 및 보안 서비스와의 통합뿐만 아니라,
    AWS 인프라의 모든 성능, 규모, 신뢰성 및 가용성을 활용

 

EKS Architecture

  • EKS VPC Customer VPC가 나뉘어져 있다.
  • Worker node들은 모두 EC2로 구성되어, Customer VPC에 위치한다.
  • 노드는 퍼블릭/프라이빗 엔드포인트를 통해 컨트롤 플레인(Master)에 API access 한다.
  • 컨트롤 플레인은 AWS Managed VPC 내에 구성된다.
  • Customer VPC에 ENI를 생성하며, 이 구간을 통해 Worker node에 접근한다.
  • 워커 노드의 앞단에는 ELB를 제공한다.

=> EKS를 배포하게되면 가용영역별로 API Server와 etcd와 컨테이너가 배포된다 (HA 보장)

=> 사용자 입장에서 보면 하나의 마스터 엔드포인트로 보인다.

 

EKS 장점/단점

장점 단점
AWS 클라우드 리소스 통합과 같은 기능 제공 추가적인 비용 부담
완전 관리형 Kubernetes 제공 인스턴스 유형에 따라 Pod 개수 제한
고가용성 보장  
어떤 인프라 환경에서도 실행 가능  
💡 제한된 Pod 개수?

클러스터 내에 부여할 IP가 부족하다면 ENI가 추가로 생성되는데,
이 ENI는 인스턴스의 유형에 따라 갯수가 제한 되어있음 

1. 완전 관리형 Kubernetes

  • 최소 2대로 구성된 API Server와 etcd, 컨트롤 플레인에 해당하는 서비스들이 인스턴스로 구성
  • 부하를 감지하고 자동 확장도 진행하며, 비정상 컨트롤 플레인 인스턴스도 교체

2. 가용성 보장

  • 하나의 리전에는 3~4개의 가용영역이 존재
  • 데이터 센터와 같은 느낌으로 물리적으로 거리가 떨어진 곳을 네트워크로 묶어
    클러스터링을 할 수 있게끔 해줌

3. 많은 AWS 서비스와 통합되어 사용

  • 스토리지, ECR, ELB 등과 함께 사용
  • 로그인을 IAM User, IAM Role로 제한 할 수 있음 

 

EKS 특징

1. VPC와 통합

  • 일반적인 쿠버네티스 클러스터는 자체 네트워크를 사용하기 때문에, 명시적으로 엔트 포인트를 설정하지 않으면 클러스터 외부에서 파드에 통신이 불가능하다.
  • EKS에서는 VPC 통합 네트워킹을 지원하고 있어, 파드에서 VPC 내부 주소 대역을 사용할 수 있고,
    클러스터 외부와의 통신이 가능하다.

 

2. Node 관리

  • EKS 클러스터 컨트롤 플레인은 EKS에서 관리형 서비스로 제공
  • Worker Node에 대한 서비스도 Nodes Group에서 관리함
  • 워커 노드를 Customize해서 원하는 서비스를 생성할 수 있음

 

3. EC2 노드 실행 / AWS Fargate 배포 가능

💡Fargate
서버를 관리하지 않고도 애플리케이션 구축에 초점을 맞출 수 있는 서버리스 컴퓨팅 엔진
관리형 노드 그룹 구조와 가상 머신을 의식하지 않고 파드를 배포할 수 있음 
  EC2 Fargate
관리부하 높음 낮음
제약 적음 많음
특징 1. 자체 관리형 노드
2. 관리형 노드 그룹
1. 워커노드도 완전히 AWS가 관리
2. 호스트에 사용자 접근이 제한이 되며, 제약이 있음 

 

4. IAM을 통한 인증

  • Kubectl 명령어를 사용하려면 해당 조작이 허가된 사용자를 올바르게 인증해야함
  • EKS에서는 IAM과 연결한 인증 및 인가 구조를 제공
728x90
반응형