반응형
1. 배경 및 개요
기존 요구사항
- 다양한 어플리케이션 스택
- 다양한 하드웨어
- 다양한 환경
- 마이그레이션의 필요성
새로운 패러다임
- Immutable Infrastructure - 배포된 이후 절대 변경되지 않는 형태의 인프라 패러다임으로 수정을 하지 않습니다.
- Container - 모던 어플리케이션 구축에 용이합니다.
- SW 단위의 배포
- Lightweight, portable, consistent
- 운영과 개발간의 일관성
2. 컨테이너 란(Docker)
도커(Docker)는 컨테이너화된 애플리케이션을 개발, 배포 및 실행하기 위한 오픈소스 플랫폼으로, 애플리케이션과 그에 필요한 종속성을 격리된 환경인 컨테이너로 패키징하여 실행합니다.
- OS 수준에서 가상화 하여 다른 어플리케이션과 논리적으로 격리된 환경을 제공합니다.
- 어플리케이션 구동에 필수적으로 필요한 최소한의 환경을 구축하여 빠른 실행이 가능합니다.
- 복잡한 워크로드 일수록 유리합니다.
3. 쿠버네티스 란
쿠버네티스(Kubernetes)는 컨테이너화된 애플리케이션의 배포, 스케일링, 관리를 자동화하기 위한 오픈소스 플랫폼으로, 복잡한 컨테이너 환경을 효과적으로 관리할 수 있습니다.
쿠버네티스 기능
쿠버네티스의 상태 관리와 배포 관리 기능은 애플리케이션의 가용성, 안정성, 확장성을 향상시키고, 개발자와 운영팀의 작업을 단순화하며, 무정지 배포와 롤백을 가능하게하여 운영과 유지보수에 용이합니다.
1. 상태 관리(State Management):
- 쿠버네티스에서는 각각에 파드에 control loop를 사용하여 일관된 상태(desired state)를 유지합니다.
- 비정상인 상태인 경우, 쿠버네티스는 파드를 자동으로 다시 시작하거나 다른 노드로 스케줄링합니다.
2. 배포 관리(Deployment Management):
- 쿠버네티스에서 배포관리는 중앙에서 롤링 업데이트 및 scheduling 방식으로 이루어집니다. 자원이 여유가 있는 서버에 오토 스케일링, 롤아웃과 롤백을 적절하게 수행합니다.
'Public Cloud > AWS' 카테고리의 다른 글
[Serverless] AWS API Gateway 개념과 lambda와 사용 예시 (0) | 2023.06.06 |
---|---|
[Serverless] AWS Lambda 내부 동작방식과 스로틀링 (1) | 2023.06.06 |
[Serverless] AWS Lambda 개념과 Workshop (0) | 2023.06.06 |