AWS EKS 단순 이해

SangLog·2023년 2월 12일
0

AMS EKS

목록 보기
1/6
post-thumbnail

AWE EKS 란

이미지 출처

쿠버네티스를 이용하여 수동으로 컨트롤 플레인을 구성하는것은 막막 할 수 있습니다.
쿠버네티스 컨테이너를 보다 간편하게 실행 할 수 있도록 AWS에서 Amazon Elastic Kubernetes Service(Amazon EKS) 를 만들었습니다.

Amazon EKS는 AWS에서 쿠버네티스를 사용하여 컨테이너식 어플리케이션을 손쉽게 배포, 관리, 확장할 수 있는 관리형 쿠버네티스 컨트롤 플레인 서비스다.

즉 Amazon EKS를 통해서 컨트롤 플레인을 관리를 안전하고 간편하게 운영할 수 있으며 컨트롤 플레인 요소 말고 작업노드의 요소 관리 또한 가능하다.
또한 다른 AWS 시스템을 쉽게 사용 할 수 있도록 도와준다 (IAM, VPC, ALB)
이를 통하여 사용자는 노드 컴포넌트부분 즉 Pod의 실행에 더 집중 할수 있다

즉 컨트롤플레인 영역은 AWS에서 별도로 관리 하고 있고, EKS에서 사용되는 작업 노드들의 kubelet 명령어를 통해서 컨트롤플레인의 API 서버와 통신을 주고 받는다.

IAM : 역할 기반 액세스 제어
VPC : pod 네트워킹 지원
ALB : 부하 분산을 위한 Application Load Balancer

기본적으로 사용자가 관리하면 되는 부분

  • 클러스터의 작업자 노드
  • 해당 노드에서 실행되는 어플리케이션
  • Pod가 작업자 노드에 배치되는 방식

EKS 생성 및 관리

Amazon EKS는 쿠버네티스를 좀 더 편리하게 사용할 수 있도록 도와주는 시스템이기 떄문에 사용하고 kubernetes API 와 Amazon EKS API를 각각의 역할에 맞춰서 사용하면서 운영을 하게 된다.

  • Amazon EKS API
    - 클러스터 생성, 관리
    - 관리형 노드그룹 생성, 관리
  • Kubernetes API
    - Kubernetes 오브젝트 패포 관리
    • Pod, namesapce 등

eksctl을 통해서 클러스터를 생성하면 기본적으로 제어 플레인 클러스터 및 노드에 사용할 새 VPC, 퍼블릭 서브넷 3개, 프라이빗 서브넷 3개가 생성된다, 원한다면 기존 VPC 및 서브넷을 사용하도록 지정할 수 있다.

eksctl create cluster 명령을 사용하면 ~/.kube/config에 구성 파일을 생성하며 생성된 kubeconfig에는 클러스터 이름, 인증방법 등 Amazon EKS 클러스터에 대한 세부 정보가 포함 되어있다



노드 컴포넌트 영역 종류

AWS EKS 는 컨트롤 플레인 외에 노드 컴포넌트 영역을 관리 할 수 도 있으며
이로 인하여 표준화를 유지할 수 있다. 어느 정도의 컨트롤을 AWS EKS에 맡길지는 사용자의 선택에 달려있다.

  • 작업자 노드 : 사용자가 완벽하게 관리하는 자체 관리
  • 관리형 노드 그룹 : Amazon EKS 가 부분적으로 관리
  • Fargate : Amazon EKS 에서 완벽하게 관리

관리형 노드 그룹

관리형 노드 그룹은 EC2 인스턴스 및 Auto Sacling 그룹과 같이 AWS계정에서 사용중인 모든 리소스를 계속 확인 할 수 있다. 이를 통해 더 적은 작업으로 제어, 보안, 가시성을 모두 확보 할 수 있으며 간단한 프로비저닝을 제공 한다.

단일 명령으로 배포시 Amazon EKS 최적화 AMI를 사용하여 노드를 생성.
AWS 서비스는 이를 여러 가용영역에 배포하고 Auto Scaling 그룹으로 지원 한다.

프로비저닝 : 사용자의 요구에 맞게 시스템 자원을 할당, 배치 , 배포해 두었다가 필요시 시스템을 즉시 사용할 수 있는 상태로 미리 준비해두는 것
AMI : Amazon Machine Image 로 EC2인스턴스를 시작하기 위한 기본 셋팅 모음

AWS Fargate

AWS EKS가 노드 컴포넌트 부분을 완전히 관리
Fargate는 컨트롤 플레인 뿐만 아닌 전체 인프라를 관리함으로 사용자는 Pod 실행만 신경 쓰면된다.

  • Pod와 리소스에 필요한 리소스만 동적으로 프로비저닝
  • 자동으로 신속하게 크기를 조정한다.
  • Pod가 실행될때만 Pod 비용 지불

Amazon EKS 보안

노드 컴포넌트가 컨트롤 플레인 또는 기타 AWS 서비스에 안전하게 엑세스 하기 위해서 인증 및 권한 부여 설정이 필요하다.

인증
자격증명을 식별하는 작업으로 서비스 또는 사용자가 EKS 또는 쿠버네티스 리소스에 액세스하려는 경우 확인

권한부여
인증된 사용자가 할 수 있는 작업을 결정

이미지 출처

kubectl 호출을 실행하면 IAM 자격증명이 호출과 함께 전달 된다, 이 정보를 쿠버네티스는 AWS IAM 으로 자격증명을 확인하며 해당 응답이 전달.
이후 RBAC 매핑을 확인 후 권한을 부여 한다.

RBAC : 역할 기반 액세스 제어로 특정 작업을 수행하는 것을 허용하여 지정된 ID 또는 주체가 갖는 권한을 정의하는 쿠버네티스 메서드

profile
기록 쌓기

0개의 댓글

관련 채용 정보