[쿠버네티스/도커스터디] 1. 새로운 인프라 환경이 온다

vector13·2022년 9월 21일
0

📗책

컨테이너 인프라 환경이란

  • 컨테이너 : 하나의 운영체제 커널에서 다른 프로세스에 영향을 받지 않고 독립적으로 실행되는 프로세스 상태 -> 가상화 상태 프로세스보다 가볍고 빠르게 동작

모놀리식 아키텍처

  • 모놀리식 아키텍처 : 하나의 큰 목적이 있는 서비스 또는 애플리케이션에 여러 기능이 통합돼 있는 구조.

하나의 결합된 코드로 구성하기 때문에 초기 단계에서 설계하기 용이, 개발 단순, 코드관리 간편
(단점) 서비스 운영 과정에서 수정 많은 경우 -> 수정이 연관 서비스에 영향 미칠 가능성 커짐
한가지 서비스의 사용량이 늘었다고 다른 서비스가 포함된 애플리케이션까지 확장하는 것은 상당히 비효율적, 특정 서비스에서 에러 발생시 해당 서비스 외 전체 서비스 이용 못하는 상황 발생

==> 방안으로 마이크로서비스 아키텍처 등장

마이크로서비스 아키텍처

  • 마이크로서비스 아키텍처 : 시스템 전체가 하나의 목적 지향하는 바는 모놀리식과 동일하지만, 개별 기능을 하는 작은 서비스를 각각 개발해 연결하는데 차이있음
    보안, 인증 등과 관련된 기능이 독립된 서비스 구성하고 있으며 다른 서비스들도 독립적을 ㅗ동작하는 완결된 구조
    (장점) 개발된 서비스 재사용이 쉽고, 향후 서비스 변경 시 다른 서비스에 영향미칠 가능성 줄어듦 -> Iaas 환경에 적합
    (단점) 모놀리식 보다 복잡도가 높고 서로가 유기적 통신 구조로 설계되기 때문에 네트워크 통한 호출 횟수 증가해 성능에 영향 준다.

컨테이너 인프라 환경에 적합한 아키텍처

정해진 답은 X 주어진 상황에 적합한 기술이 있을 뿐

우리가 공부할 컨테이너 인프라 환경은 특히 마이크로서비스 아키텍처로 구현하기 적합하다.
컨테이너를 서비스 단위로 포장해 손쉽게 배포/ 확장 (1:1로 완벽하게 대응)

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

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

도커

도커 : 컨테이너 환경에서 독립적으로 애플리케이션 실행할 수 있도록 컨테이너를 만들고 관리하는 것을 도와주는 컨테이너 도구
운영체제 환경에 관계없이 독립적 환경에서 <일관된 결과> 보장

쿠버네티스


쿠버네티스 : 다수의 컨테이너 관리에 사용하고 컨테이너 자동 배포와 배포된 컨테이너에 대한 동작 보증, 부하에 따른 동적 확장 등의 기능을 제공
쿠버네티스는 컨테이너 인프라 기반, api gateway, 서비스 디스커버리, event bus, 인증 및 결제 등 다양한 서비스 효율적 관리 환경 제공 + 내외부 유연 연결

젠킨스

젠킨스 : CI/CD 지원
==지속적 통합과 지속적 배포
CI/CD : 개발한 프로그램의 빌드, 테스트, 패키지화, 배포 단계를 모두 자동화해 개발 단계 표준화함. -> 생산성 ↑

프로메테우스와 그라파나

프로메테우스와 그라파나 : 모니터링을 위한 도구
프로메테우스 - 데이터 수집
그라파나 - 시각화

실습용 컨테이너 인프라 환경 구성


강의 💡

섹션 0. Preview - 강의 소개

강의 특징

  • 코드 몰라도 들을 수 있다.
  • 쿠버네티스 전반적 흐름을 이해할 수 있다.
  • 많은 환경들 중 나만의 쿠버네티스 테스트 환경을 가질 수있음
  • 쿠버네티스 다루기를 시작할 수 있게 한다.

섹션 1.1.쿠버네티스(Kubernetes)란

가상 환경 비해서 컨테이너 환경에서는 좀 더 많은 애플리케이션 동작시킬 수 있음

?쿠버네티스 배우기 전에 도커를 먼저 알아야하나
도커를 알면 배우는데 도움이 되지만 꼭 먼저 알아야하는건 아님
초창기는 그래야했지만 많은 부분이 애플리케이션으로 올라와있음
일단 시작하고 배우는데는 큰 무리없다.

  • 쿠버네티스 누가 만들었나 -> 관리
    구글 Borg 시스템 -> Cloud Native Computing Foundation(CNCF) 에 의해서 관리되고 있음 => vendor에 종속적 vendor-neutral

현대의 가장 성공 오픈소스 프로젝트 : 리눅스
리눅스와 같은 형태 : 쿠버네티스

  • 쿠버네시트 배포 종류
  1. 관리형 쿠버네티스
    배포만 하면 자동으로 관리
  2. 설치형 쿠버네티스
    rancher, openshift들어간 예, 설치할 수 있도록 이미 패키지화 해놓은 것
  3. 구성형 쿠버네티스
    필요로 하는 클라우드 환경 내에서 원하는 환경 사용하고 싶을 때 요구사항 맞게 자유롭게 구성 또는 교육적 목적

profile
HelloWorld! 같은 실수를 반복하지 말기위해 적어두자..

0개의 댓글