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과 연결한 인증 및 인가 구조를 제공
반응형
'💻 CSP > AWS' 카테고리의 다른 글
[AWS] S3 이벤트 알림이 추가/수정이 되지 않는 경우 (0) | 2023.08.25 |
---|---|
[AWS] Lambda (0) | 2023.08.13 |
[AWS] EFS(Elastic File System) (0) | 2023.08.04 |
[AWS] IAM(Identity and Access Management) (0) | 2023.07.31 |
[AWS] Network ACL, Security Group (0) | 2023.07.29 |