컨테이너 인프라 환경
: 컨테이너를 중심으로 구축된 인프라 환경
- 컨테이너
: 하나의 운영체제 커널에서 다른 프로세스의 영향을 받지 않고 독립적으로 실행되는 프로세스
: 하나 이상의 목적을 위해 독립적으로 작동하는 프로세스
- 구성
: 컨테이너
: 컨테이너 관리
: 개발 환경 구성 및 배포 자동화
: 모니터링
모놀리식 아키텍처
: 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합되어 있는 구조
: 초기 단계에서 설계하기 용이하고 개발 과정이 단순함
: 코드 관리가 간편
- 단점
: 수정 작업이 많은 경우 수정한 서비스 외에 다른 서비스에 영향을 끼칠 수 있음
: 서비스가 확장될 경우 복잡해짐
: 특정 서비스의 문제가 전체의 문제로 번질 수 있음
마이크로 서비스 아키텍처 (MSA)
: 시스템 전체가 하나의 목적을 지향하지만, 개별 기능을 하는 작은 서비스를 각각 개발하여 연결된 형식
: 서비스 하나하나가 독립된 기능을 수행
: 서비스를 재사용하기 쉬우며 서비스가 변경되었을때 다른 서비스에 미치는 영향이 적음
: 사용량 변화에 따라 특정 서비스만 확장할 수 있음
: 사용자 요구사항에 따라 가용성을 즉각적으로 확보해야하는 IaaS 환경에 적합
- 단점
: 모놀리식 아키텍처 보다 복잡도가 높으며 각 서비스 간 네트워크 호출 횟수가 많아 성능에 영향 우려
- 컨테이너를 활용한 MSA
: 서비스를 컨테이너 단위로 포장하여 배포 및 확장
도커
: 애플리케이션을 독립적으로 실행할 수 있도록 컨테이너를 만들고 관리하는 컨테이너 도구
: OS에 관계없이 독립적인 환경에서 일관된 결과를 보장
- 이외 컨테이너 도구
: Containerd
: CRI-O
: Podman
쿠버네티스
: 컨테이너 인프라에 필요한 기능을 통합하고 관리하는 솔루션
: 컨테이너의 자동 배포와 배포된 컨테이너에 대한 동작 보증, 부하에 따른 동적 확장 등 제공
: API 게이트웨이, 서비스 디스커버리, 이벤트 버스, 인증 등 다양한 도구 및 환경 제공
- 이외 컨테이너 관리도구
: Docker Swarm
: Mesos
: Nomad
젠킨스
: 지속적 통합 (CI, Continuous Integration)과 지속적 배포 (CD, Continuous Deployment)를 지원하는 자동화 도구
: 프로그램의 빌드, 테스트, 패키징, 배포를 자동화
- 이외 CI/CD 도구
: Bamboo
: GitHub Action
: Teamcity
프로메테우스 / 그라파나
: 모니터링 도구
- 프로메테우스
: 상태 데이터 수집
- 그라파나
: 수집한 데이터를 보기좋게 시각화
- 이외 데이터 수집 도구
: Data Dog
: Influx DB
: New Relic
- 이외 데이터 시각화 도구
: Kibana
: Chronograf
Reference
'Container > Kubernetes' 카테고리의 다른 글
쿠버네티스 설치 및 기본 세팅 (1) | 2023.06.04 |
---|---|
다양한 쿠버네티스의 종류 (0) | 2023.06.04 |
k3s vs minikube vs micro k8s 비교 (0) | 2023.01.11 |
k3s에 대해 알아보자 (0) | 2022.12.12 |
쿠버네티스의 개요 (Kubernetes) (0) | 2021.10.19 |