AWS Fargate 란

AWS Fargate 목적은 데이터 플레인의 가상 머신 운영 및 관리 가능, AWS 가상 머신 운영 및 관리 서비스를 제공하는데 있습니다.

AWS Fargate 장점

  • 데이터 플레인인 가상 머신 계층의 운영 및 관리에서 해방됩니다.

파게이트로 파드를 동작시키는 구조

  • 어떤 파드를 파게이트로 동작시킬지 설정하는 파케이트 프로파일을 생성해 둡니다.
  • 그 후 파드가 사용할 서브넷, 네임스페이스, 레이블 조건을 설정합니다.

파게이트에서 파드와 노드의 관계

kubectl apply -f - <<EOF

kubectl get pod -o wide

kubectl scale deployment fargate-sample-nginx --replicas=3

kubectl get pod -o wide

파게이트 주요 제약 사항

  • 파드와 노드가 1:1로 동작 → 노드 각각에 파드가 1개씩 동작하는 구조 → 데몬셋을 도입할 이유가 없습니다.

EKS on Fargate 모니터링과 로그 관리, 운영

“모니터링 전문가가 아니라면 구축하지 않고 사야 한다.”

파게이트 요금 체계

  • EC2가 존재하지 않아 CPU/메모리 리소스량에 대해 과금합니다.
  • 항시가 아닌 단기간 예를 들어 1시간 사용하는 서비스는 파게이트가 유리합니다.

파게이트 사용 사례

  • 배치 처리 등 일시적이거나 정기적으로 많은 리소스를 사용해야 하는 경우
  • 동시에 병렬 처리를 하기 위해 많은 파드를 동시에 동작시켜야 하는 경우

쿠버네티스를 지탱하는 에코시스템

  • 쿠버테티스가 파급력을 받는 이유는 확장성에 있습니다.

쿠버네티스의 조정 과정

  1. kubectl 명령어로 매니페스트가 컨트롤 플레인의 API 서버(kube-apiserver)를 경유합니다.
  2. 쿠버네티스 데이터베이스(etcd)에 등록합니다.
  3. 컨트롤러(controller)는 해당 파드가 동작하도록 etcd에 등록합니다.
  4. 스케줄러(kube-sheduler)는 매니페스트에 정의된 파드가 동작할 노드를 선정합니다.
  5. 각 노드상에서 동작 중인 kubelet이 자신의 노드에서 동작해야 할 파드가 동작하지 않는 것을 감지하고 파드를 동작시킵니다.
  6. 컨트롤러는 파드상태를 감시하고 이상이 있을 경우 재시작과 같은 명령을 내립니다.

오퍼레이터를 이용한 운영 자동화

  • RDS라는 커스텀 리소스 정의를 만들어 두고 커스텀 리소스 컨트롤러에서 그 속성으로 AWS SDK를 사용하여 실제 RDS를 배포함. → 쿠버네티스만 이용하여 AWS 리소스인 RDS까지 관리할 수 있게 됩니다.
  • 오퍼레이터 : 커스텀 리소스를 사용해 운영을 자동화하는 구조
  • 오퍼레이터 허브를 사용하는 다양한 자동화 처리가 공개되어 있습니다.

헬름을 이용한 매니페스트 패키지 관리

  • 비슷한 설정을 병렬로 배포하는 싶은 경우
  • 차트 기능을 만들기 위한 매니페스트 집합을 템플릿화해 기능 패키지를 관리하는 개념
  • 리눅스의 yum, apt, macOS의 Homebrew 같은 것.
  • 이와 같은 기능을 미리 차트로 생성해둠으로써 새로운 클러스터에는 매니페스트를 개별적으로 적용하지 않고 helm install 명령만으로 같은 구조를 도입할 수 있습니다.

https://helm.sh

https://artifacthub.io

Back to top