post-custom-banner

Amazon EKS(Elastic Kubernetes Service)

  • Amazon Elastic Kubernetes Service (EKS)는 Amazon Web Services (AWS)에서 제공하는 관리형 Kubernetes 서비스이다.

  • EKS는 사용자가 Kubernetes를 쉽게 사용할 수 있도록 클러스터 관리 및 운영 작업을 AWS가 대신 처리한다.

  • 쿠버네티스를 제어하는 컨트롤 플레인을 제공하는 관리형 서비스이다.


EKS를 쓰는 이유

출처: https://medium.com/devops-mojo/kubernetes-architecture-overview-introduction-to-k8s-architecture-and-understanding-k8s-cluster-components-90e11eb34ccd

  • 쿠버네티스 도입 중 가장 큰 어려움은 '컨트롤 플레인의 유지 및 운영'이다.

  • 쿠버네티스에서는 여러 컴포넌트들이 서로 독립적이고 비동기로 동작하며 전체를 구성한다.

  • 각 구성 요소의 설정이나 장애가 발생했을 시 복구 방법 등이 복잡할 수 있다.

  • 이러한 유지, 운영의 어려움을 AWS에서 해결해준다.

  • AWS에서 컨트롤 플레인 부분(kube-apiserver, kube scheduler, controller, CoreDNS)을 관리해준다.


EKS의 특징

  • 이미 구축된 쿠버네티스 클러스터에서 동작하는 애플리케이션을 수정하지 않고 동작시킬 수 있다. (쿠버네티스와의 완전한 호완성)

  • AWS의 각종 서비스와 통합이 쉽다.


VPC와 통합

출처: https://velog.io/@bbkyoo/Amazon-EKS%EB%9E%80

  • 파드 네트워크에는 데이터 플레인의 네트워크와는 다른 자체 네트워크 체계를 배치하여, 클러스터 외부에서 파드에 명시적으로 엔드 포인트를 생성하지 않으면 통신이 불가능하다.

  • Amazon VPC(Amazon Virtual Private Cloud) 통합 네트워킹을 통해 파드에서 VPC 내부 주소 대역을 사용하여 클러스터 외부와의 통신을 심리스(Seamless)하게 구현할 수 있다.

    • 심리스(Seamless)
      서비스 접근을 단순하게 한느 것 혹은 복잡한 기술이나 기능을 설명하지 않아도 서비스 기능을 직관적으로 구현하는 것을 목표로 한다.

IAM을 통한 인증과 인가

출처: https://velog.io/@bbkyoo/Amazon-EKS%EB%9E%80

  • 쿠버네티스 클러스터는 kubectl이라는 명령줄 도구를 사용하여 조작

    • kubectl
      쿠버네티스(Kubernetes) 클러스터를 관리하기 위한 기본적인 커맨드 라인 인터페이스(CLI) 도구이다. kubectl을 사용하면 쿠버네티스 클러스터의 리소스를 생성, 업데이트, 삭제, 조회할 수 있다.
  • 조작을 위해서는 적절한 인증/인가 구조가 필요하다.

  • EKS에서는 IAM과 연결한 인증 및 인가 구조를 제공한다.


ELB(Elastic Load Balancing)와의 연동

출처: https://velog.io/@bbkyoo/Amazon-EKS%EB%9E%80

  • 쿠버네티스 클러스터 외부에서 접속할 때는 ELB를 사용해 엔드포인트를 생성한다.

  • EKS에서는 로드밸런서를 설정하면 자동적으로 ELB가 생성된다.

  • ELB를 통해 HTTPS나 경로 기반 라우팅 등의 L7 로드밸런서 기능을 AWS로 구현할 수 있다.


데이터 플레인 선택 (EC2 vs Fargate)

출처: https://www.simform.com/blog/fargate-vs-ec2-pricing/

  • 쿠버네티스는 컨트롤 플레인과 데이터 플레인으로 구성되고, 컨트롤 플레인은 EKS에서 관리형 서비스로 제공된다.

    • 컨트롤 플레인(Control Plane): 클러스터의 전반적인 관리와 제어를 담당하는 계층으로, 클러스터의 상태를 모니터링하고 원하는 상태로 유지한다.

    • 데이터 플레인(Data Plane): 실제로 애플리케이션이 실행되고 네트워크 트래픽이 흐르는 계층으로, 사용자 애플리케이션의 실행을 책임진다.
  • EKS 클러스터의 유지 관리나 버전을 업그레이드할 때 필요한 가상 머신 설정을 쉽게 해주는 관리형 노드 그룹 구조(EC2)와 가상 머신을 의식하지 않고 파드를 배포할 수 있는 파게이트(Fargate)를 이용하여 데이터 플레인을 관리할 수 있다.

  • 파게이트는 데이터 플레인 관리가 필요 없는 만큼 파드가 배포되는 호스트에 사용자 접근이 제한되는 등 제약이 존재한다.




해당 글은 다음 도서의 내용을 정리하고 참고한 글임을 밝힙니다. 아이자와 고지 외 1명, ⌜클라우드 네이티브를 위한 쿠버네티스 실전 프로젝트⌟, 동양북스, 2021, 370쪽
profile
IT, 개발 관련 정보들을 기록하는 장소입니다.
post-custom-banner

0개의 댓글