본문 바로가기
스터디/쿠버네티스 & 도커

[쿠버네티스 / 도커] 01. 새로운 인프라 환경

by 디토20 2022. 6. 21.
반응형

 

 

 

 

[쿠버네티스 / 도커] 01. 새로운 인프라 환경

 

 

1. 컨테이너 인프라 환경이란?

- 컨테이너를 중심으로 구성된 인프라 환경

 

컨테이너란?

- 하나의 운영 체제 커널에서 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 프로세스 상태

 

 

1.1 모놀리식 아키텍처

- 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합되어 있는 구조

 

  • 초기 단계에서 설계하기 용이하며 개발이 좀더 단순하고 코드 관리가 간편
  • 서비스 운영 중 수정이 많을 경우 연관 된 다른 서비스에 영향을 미칠 가능성이 큼
  • 기능이 추가될 수록 서비스 간의 관계가 매우 복잡해 질 수 있다.
  • 한가지의 서비스를 확장하기 위해서는 다른 모든 서비스도 같이 확장해야하기 때문에 비효율적
  • 하나의 서비스에서 에러가 발생하면 모든 서비스를 이용할 수 없다

 

 

1.2 마이크로서비스 아키텍쳐

- 개별 기능을 하는 작은 서비스들이 연결되어 하나의 큰 목적을 지향하는 서비스

 

  • 개발된 서비스를 재사용하기 쉽다.
  • 서비스를 변경할 때 다른 서비스에 영향을 미칠 가능성이 감소한다,
  • 특정 서비스만 확장할 수 있다.
  • 모놀리식보다 복잡도가 높다.
  • 서비스끼리 통신을 하는 구조로 설계되어 있기 때문에 네트워크 호출 횟수가 증가해 성능에 영향을 줄 수 있다.
  • 각 서비스에 특화된 데이터베이스를 사용할 수 있다.

 

 

 

2. 컨테이너 인프라 환경을 지원하는 도구

- 컨테이너 인프라 환경은 크게 컨테이너, 컨테이너 관리, 개발 환경 구성 및 배포 자동화, 모니터링으로 구성된다.

 

 

2.1 도커

  • 컨테이너 환경에서 독립적으로 애플리케이션을 실행할 수 있도록 컨테이너를 만들고 관리하는 것을 도와주는 컨테이너 도구
  • 도커로 애플리케이션을 실행하면 운영 체제 환경에 관계없이 독립적인 환경에서 일관된 결과를 보장한다.
  • 여러 컨테이너 도구 중 현업에서 가장 많이 사용되는 소프트웨어

 

 

2.2 쿠버네티스

  • 다수의 컨테이너를 관리하는데 사용
  • 컨테이너의 자동 배포와 배포된 컨테이너에 대한 동작 보증, 부하에 따른 동적 확장 등의 기능 제공

 

 

2.3 젠킨스

 

  • 지속적 통합과 지속적 배포를 지원
  • 개발한 프로그램의 빌드, 테스트, 패키지화, 배포 단계를 모두 자동화해 개발 단계를 표준화
  • 개발된 코드의 빠른 적용과 효과적인 관리를 통해 개발 생산성을 높이는데 초점

 

 

2.4 프로메테우스와 그라파나

  • 프로메테우스와 그라파나는 모니터링을 위한 도구
  • 프로메테우스 : 상태 데이터를 수집
  • 그라파나 : 프로메테우스로 수집한 데이터를 관리자가 보기 좋게 시각화
  • MSA에서는 많은 종류의 기능이 나뉘어져 개발되기 때문에 중앙 모니터링 필요

 

 

 

3. 컨테이너 인프라 환경 구성

728x90
반응형

댓글