
Containerozed Application을 자동으로 배포, 스케일링 및 관리해주는 오픈 소스 시스템
Container: 앱이 구동되는 환경까지 감싸서 실행할 수 있도록 하는 격리 기술
- 우리가 구동하려는 애플리케이션을 실행할 수 있는 환경까지 감싸서 어디서든 쉽게 실행할 수 있도록 해주는 기술
Container Runtime: 컨테이너를 다루는 도구
- 컨테이너를 쉽게 내려받거나 공유하고 구동할 수 있도록 해주는 도구
Docker: 컨테이너를 다루는 도구 중 가장 유명한 것
Kubernetes: 컨테이너 런타임을 통해 컨테이너를 오케스트레이션 하는 도구
Orchestration: 사용자가 원하는 상태(Desired State)로 동작하도록 관리(Schedule)하는 것
- 여러 서버(노드)에 컨테이너를 분산해서 배치
- 문제가 생긴 컨테이너를 교체
- 컨테이너가 사용할 비밀번호나 환경 설정을 관리하고 주입

Cluster를 얻음Cluster : 노드들의 집합Control Plane과 Data Plane으로 나뉘어짐쿠버네티스의 오브젝트 : desired state(원하는 상태)를 담은 레코드
오브젝트를 생성하면 쿠버네티스의 컨트롤 플레인에서 오브젝트의 current state(현재 상태)와 desired state를 일치시키기 위해 끊임없이 관리함
Object 유형
pod(파드)
- 쿠버네티스에서 생성하고 관리할 수 있는 배포 가능한 가장 작은 컴퓨팅 단위
- 애플리케이션의 최소 실행 단위
- 하나 이상의 컨테이너를 포함
- 1개의 Pod에는 1개의 컨테이너 구성 권장
- Pod 특징
- Pod에는 각각 고유한 private IP 할당
- Pod 안에 있는 컨테이너는 pod의 IP를 공유
service
- 파드들을 통해 실행되고 있는 애플리케이션을 네트워크에 노출(expose)시키는 가상의 컴포넌트
deployment
- 애플리케이션 배포의 기본 단위 리소스
Volume
- 컨테이너의 기본 상태는 stateless이기 때문에 상태 유지가 필요한 경우 사용
EKS를 사용하면 AWS 환경에서 kubernetes의 Control plane 또는 node를 직접 설치, 운영할 필요가 없음
다양한 AWS 서비스와 연동하여 확장성과 보안 제공
Amazon ECR(Elastic Container Registry) : 컨테이너 이미지 저장소AWS ELB(Elastic Load Balancing) : 로드 분산AWS IAM: 인증Amazon VPC: 격리