코알못

[EKS] 알아보자! 본문

ETC

[EKS] 알아보자!

코린이s 2023. 3. 29. 14:20
728x90

EKS 특징에 대해 알아보자!

  • AWS 관리형 Kubernetes
    • 어떠한 EC2, VPC에 EKS가 생성 되었는지 알 필요 없다.
  • 보안
  • 신규 버전 빠르게 적용 가능

EKS는 AWS EKS Control Plane를 통해 제어하며 사용하는 워커노드는 EC2도 가능(ondemand, spot)하며 파게이트(Fargate)와 같은 관리형 서버를 사용할 수 있다.

배포 방식은 여러 방법이 있고 아래와 같다.

  • AWS 서비스 이용
    • AWS CloudFormation & AWS CDK
  • 자체 명령어 사용
    • eksctl
  • 외부 서비스 이용
    • terraform 등

EKS는 VPC CNI 을 제공한다!

CNI는 컨테이너 네트워크 제어를 위한 플러그인이며 워커노드, 파드에 사용하는 네트워크(overlay) 를 같은 대역으로 할당 가능하다.

Primary natwork(worker node ip), 나머지 IP(sencondry network)는 pod 에 할당한다.

EC2에서는 ENI(서버 가상 네트워크 인터페이스)를 통해 네트워크 할당하고 IP할당의 경우 인스턴스 유형마다 제한이 다르며 해당 제한은 충분하게 리소스 활용 할 수 있도록 제한이 되어있다.

예를 들어 m5.xlarge 인스턴스라면 ENI 3개, ENI 별 IPv4 개수가 10개 제한 되어 있다.

최대 Pod 수를 계산하면 아래와 같으며 최대 29개 Pod 할당 가능 하다.

- '[ENI 수] * ([ENI 별 IPv4]-[노드 IP]) + [기본 생성되는 kube-proxy, ENI Pod]' =  '3 * (10-1) + 2'

볼륨인 CSI(Container Storage Interface)의 경우 세개의 종류가 있으며 EBS(가용 영역 제한 O), EFS(가용 영역 제한 X), FSx 가 있다. 뒤로 갈수록 비싸다...

권한의 경우 Pod 레벨에서 IAM 권한 제어도 가능하다.

Kubernetes Controls 용어에 대해 알아 보자!

controls 설명
Namespaces 격리된 환경이 아닌 관리를 위한 위치
Service accounts pod에 이름 부여하며 각각 토큰이 발행되어 구분
Resource quotas 네임스페이스 전체 리소스 제약
Network policies 네트워크 격리 정책
Limit ranges 파트, 컨테이너, 볼륨 제약
Pod security policies 파트, 컨테이너 권한 제어

ECR 은 컨테이너 레지스트리이다!

EKS Control Plane로 수집한 로깅을 CloudWatch 에서 확인 할 수 있다!

Fluent Bit 를 통해서 로그를 S3 에 쌓고 Athena를 통해 로그 분석을 할 수 있다!

728x90
Comments