brunch

You can make anything
by writing

C.S.Lewis

by YoungHurck Cha Oct 31. 2021

MSA가 뭐야? 컨테이너가 모야?

컨테이너,쿠버네티스,도커,인프라,젠킨스

컨테이너 인프라


MSA가 일상이 되어 활용되면서 누구나 MSA를 부르짖고 있습니다. 하지만, 정작 컨테이너에 대한 개념조차 없이 어디서 들어서 좋은 거라는 근자감만 키워놓고 있습니다.

그래서, 윗선에서 MSA 도입을 검토해 보라고 떨어지는 것도 다반사입니다.


그러면 쿠버네티스, 도커, EKS, 인프라, 가상화, VM 온갖 용어들이 자연스럽게 난무하게 됩니다. 그래서 누군가는 정리가 필요합니다. 그런 분들에게 필요한 책입니다.


최근에는 클라우드애 Devops로 운영되어 인프라의 영역도 불분명하기도 하지만, 별도 가상화 환경에서의 새로운 인프라 구축인지 클라우드 환경에서 제공하는 컨테이너 환경인지에 따라 접근이 달라질 수도 있습니다.

그래서, 현직 전문가가 전달하는 IT 인프라 기술의 노하우라는 책 설명이 좀 더 실제적으로 체감됩니다.

1.쿠버네티스를 꼭 알아야 하는가?

관리의 어려움 맟 복잡도 증가가 먀우 큰 단점, 하지만 복잡도 최소화로 비용 절약, 생산성을 높인다고 합니다.


서비스로서의 인프라 환경(lasS, Infrastructure as a Service) 앞으로도 대세가 될 겁니다.

MSA가 뭐야? 컨테이너가 모야?


기본적인 개념은 프라에서 출발하게 됩니다. 우리의 숙원은 리소스를 잘 활용하고 싶기 때문입니다. 같은 값이면 기왕이면 다홍치마입니다. 그래서 기본적인 개념이 당연히 중요합니다.


컨테이너 인프라 환경이란?(p21) 

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

가상화 상태에서 동작하는 프로세스보다 가볍고 빠르게 동작한다는 겁니다.

가상화, 컨테이너, 마이크로서비스 아키텍처, MSA
모놀리식 아키텍처

마이크로 서비스 아키텍처 복잡도가 높으며 각 서비스가 서로 유기적으로 통신하는 구조로 설계되기 때문에 네트워크를 통한 호출 횟수가 증가해 성능에 영향이 있습니다.



테스트 환경


베이그런트, 코드로 인프라 생성할 수 있게 지원하는 소프트웨어, 슈퍼푸티 활용각입니다.


쿠버네티스


코드를 응용해 컨테이너 인프라 테스트 환경 자동 구축

눈송이 서버, 여러 사람이 만져서 설정의 일관성 떨어진 서버


가상화 환경, 각각의 가상 머신이 모두 독립적인 운영 체제 커널을 가지고 있어야 하기 때문에 그만큼 자원을 더 소모해야 하고 성능이 떨어질 수밖에 없습니다.

컨테이너 인프라 환경, 운영 체제 커널 하나에 컨테이너 여러 개가 격리된 형태로 실행되기 때문에 자원을 효율적으로 사용할 수 있고 거치는 단계가 적어서 속도가 훨씬 빠릅니다.


기초 중의 기초 하지만 눈에 보이지 않기에 잘 정리되지 않습니다. 특히나 기존 VM을 받아서 사용해온 애플리케이션 담당자에게는 신경 쓰고 싶어 하지 않습니다.

쿠버네티스는 컨테이너 인프라 관리 솔루션의 표준

구글은 14년 자사에서 컨터이너 운영 플랫폼으로 운영하던 보그(Borg)를 기반으로 하는 쿠버네티스를 오픈 소스화, 15년 7월 21일 쿠버네티스 버전 1.0 출시

구글은 리눅스 재단과 파트너십을 맺고 클라우드 네이티브 컴퓨팅 재단(CNCF, CloudvNative Computing foundation)을 설립 쿠버네티스를 기초 기술로 제공

쿠버네티스는 컨테이너 오케스트레이션을 위한 솔루션

오케스트레이션(Orchestration)

복잡한 단계를 관리하고 요소들의 유기적인 관계를 미리 정의해 손쉽게 사용하도록 서비스를 제공하는 것을 의미

다수의 컨테이너를 유기적으로 연결, 실행, 종료 할 뿐만 아니라 상태를 추적하고 보존하는 등 컨테이너를 안정적으로 사용할 수 있게 만들어주는 것


k8(ubernete,8글자)s

쿠버네티스는 그리스어로 도선사(pilot, 배를 수로로 안전하게 안내하는 사람)나 조타수(helmsman, 배의 키를 조정해 올바른 방향으로 나아가게 하는 사람)

도커


쿠버티스를 이루는 기본 오브젝트가 파드, 파드는 컨테이너로 이루어져 있으며, 컨테이너를 만들고 관리하는 도구가 도커입니다.


컨테이너 관리 기술이 발전했고 여러 애플리케이션이 이미 도커 이미지로 배포되고 있어서 배포된 이미지를 사용하면

도커를 몰라도 쿠버네티스의 환경을 만들고 사용할 수 있습니다.

파드, 컨테이너, 도커, 쿠버 네티스의 관계

파드들은 워커 노드라는 노드 단위로 관리, 워커 노드와  마스터 노드가 모여 쿠버네티스 클러스트, 파드는 1개 이상의 컨테이너로 이루어져 있습니다.

도커

Docker사에서 2013년에 만든 컨테이너 관리 도구, 컨테이너 관리 기능 외에도 컨테이너를 실행하는 데 필요한 이미지를 만들거나 공유하는 등의 다양한 기능을 제공

사용자가 명령어를 입력하는 명령어 도구(CLI)와 명령을 받아들이는 도커 데몬으로 구성

도커 1.11 이후로부터는 컨테이너를 제어하기 위해 별도의 컨테이너를 포함


컨테이너 이미지도 그대로는 사용할 수 없고 도커와 같은 CRI로 불러 들어야 컨이너가 실제로 작동합니다.

블루 그린 배포

클러스터

부록

출판사 책 소개


알라딘에서 갈무리합니다.

목차

정의부터 실전 실습, 그리고 모니터링까지 전체를 아우르는 책입니다. 나름 정독해서 관심 있는 파트를 꼼꼼히 보게 됩니다. 처음 접하는 분들에게 퀵하게 의사결정이나 방형을 정해야 하는 분들에게 필요한 책이라고 생각이 듭니다.
매거진의 이전글 존코바의 유튜브 디자인 그림책
작품 선택
키워드 선택 0 / 3 0
댓글여부
afliean
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari