반응형
1. Kubernets를 사용하는 환경과 종류
- Kubernetes를 사용할 수 있는 환경 2가지 → On-premise와 Cloud
- On-premise 환경에서 Kubenertes를 구축하는 방법
- 공식 배포 버전의 쿠버네티스로 직접 구축 → 네이티브 쿠버네티스 또는 바닐라 쿠버네티스라고 합니다.
- VMware Tanzu, Redhat의 OpenShift 등의 솔루션으로 구축
- (참고)Amazon EKS Anywhere를 이용하여 EKS를 On-premise에 설치 할 수도 있습니다.
- Public Cloud 환경에서 Kubernetes를 사용하는 방법
- AWS의 EKS(Elastic Kubernetes Service)
- Azure의 AKS(Azure Kubernetes Service)
- Google의 GKE(Google Kubernetes Engine)
- (참고) Redhat의 Openshift도 AWS에서 사용 가능합니다.
- → Red Hat OpenShift Service on AWS(ROSA)
- (참고) Public Cloud에서도 VM을 구성하고 kubeadm과 같은 도구로 바닐라 쿠버네티스를 구축할 수 있습니다.
- On-premise 환경에서 Kubenertes를 구축하는 방법
2. EKS란?
- EKS는 AWS의 Managed kubernetes service 서비스 → Kubernetes-as-a-Service
- EKS는 Kubernetes 규격 인증을 받았습니다.
- 쿠버네티스 규격 인증을 받았다는 것은 쿠버네티스에서 실행되는 모든 애플리케이션을 수정하지 않고도 EKS에서 실행할 수 있음을 의미합니다.
- EKS의 Use Case
- On-Premise 또는 다른 CSP에서 운영 중인 Kubernetes를 마이그레이션 할 때 사용
- AWS에서 쿠버네티스를 운영하기 할 때 사용
- EKS가 해결해 주는 것?
- 쿠버네티스의 설치
- 컨트롤 플레인 운영 관리(가용성 보장과 업그레이드 관리)
- 컨트롤 플레인은 AWS의 관리 영역입니다.
- 컨트롤 플레인의 API 서버와 etcd 서버는 Auto Scaling Group으로 가용성이 보장 됩니다.
- 컨트롤 플레인은 AWS Managed VPC에 존재하며 고객은 Managed VPC에 접근이 불가능합니다.
- AWS Managed VPC에 있는 API 서버는 EKS owned ENI를 통해 각 워커 노드로 명령을 전달합니다. 이는 AWS 내부 통신입니다.
3. EKS의 데이터 플레인
- AWS가 EKS의 컨트롤 플레인 관리를 담당한다면 EKS의 데이터 플레인은 어떻게 될까?
- EKS의 데이터 플레인 옵션은 3가지입니다.
- Self-managed Node Group(사용자가 관리)
- EKS와 별도로 EC2를 관리해야합니다.
- 사용자가 AMI와 AutoScaling Group, OS 구성 및 패치를 직접 관리해야합니다.
- Managed Node Group(사용자와 AWS가 함께 관리)
- EKS에 통합된 데이터 플레인으로 동작합니다.
- EKS Optimized AMI를 사용하며 AWS가 데이터 플레인의 프로비저닝 및 라이프사이클을 관리합니다.
- Fragate(AWS가 관리)
- 고객의 Account에서 관리할 컴퓨팅 자원(EC2 인스턴스)이 없습니다. → 서버리스
- MicroVM을 이용하여 Pod 별 VM이 할당됩니다.
- Self-managed Node Group(사용자가 관리)
4. EKS의 장점(AWS와의 통합)
- EKS의 네트워킹(VPC와 통합)
- Ingress 오브젝트를 생성하면AWS ALB(Application Load Balancer)가 프로비저닝 됩니다.
- Service 오브젝트를 LoadBalancer 타입으로 생성하면 AWS CLB(Class Load Balancer) 또는 AWS NLB(Letwork Load Balancer)가 프로비저닝 됩니다.
- EKS의 스토리지 (AWS 스토리지 서비스와 통합)
- EKS는 EBS, EFS 등 다양한 스토리지 옵션을 제공합니다.
- EKS의 권한관리 (IAM과 통합)
- IAM을 통해 EKS 클러스터에 대한 통제가 가능하다.
- 파드마다 IAM Role을 할당할 수 있다. → IRSA (IAM Role for Service Account)
5. EKS의 단점
- EKS 지원 버전의 제한
- EKS는 AWS가 제공하는 완전관리형 서비스로 AWS가 지원하는 쿠버네티스 버전만 사용이 가능합니다.
- 사용 중인 쿠버네티스 버전에 대해 AWS가 지원을 종료한다면 컨트롤 플레인과 데이터 플레인의 버전을 업그레이드해야합니다.
쿠버네티스 버전 지원은 Standard support와 Extended support가 존재합니다.
- 컨트롤 플레인 설정의 제한
- EKS의 컨트롤 플레인은 AWS가 관리하므로 고객이 직접 EKS 컨트롤 플레인 설정을 변경할 수 없습니다.
6. EKS의 비용 구조
- EKS는 3가지 측면에서 비용이 발생합니다.
- Amazon EKS 클러스터의 비용 → $0.1 per hour
- 컴퓨팅 비용 → Amazon EC2 또는 AWS Fragate
- 네트워크 비용 → 인터넷 트래픽 / AZ간 트래픽
반응형
'📂 AWS' 카테고리의 다른 글
[AWS] EKS Extended supoort와 Standard support (0) | 2023.11.20 |
---|---|
[AWS] Lambda@Edge와 CloudFront Functions (0) | 2023.03.20 |
[AWS] Verified Access (0) | 2023.03.20 |
[AWS] VPC Lattice란? (0) | 2023.03.20 |
[AWS] Route53 Failover(장애조치) 라우팅 구성하기 (0) | 2022.08.12 |