본 글은 마르코 룩샤의 Kubernetes in Action
책을 기반으로 쓰였으며,
챕터별 내용들을 정리하여 시리즈로 발행 중이다.
따라서 책 내용의 일부가 요약되어 있으며, 필자의 추가적인 해석이 포함되어 있다.
2021.03.24 - [Log.Develop/DevOps] - [Kubernetes] Chapter 3. Pod(파드)
참고로 k8s는 Kubernetes를 줄여서 부르는 말로, K와 S 사이에 8개의 문자가 있어서 k8s라고 쓰는 것이라고 한다.
아래의 내용에서 서비스는 K8S에서 의미를 가지고 있는 Service가 아니다.
읽어보면 좋을 링크 : https://medium.com/giljae/마이크로-서비스를-사용하지-않는-경우-cfaae59e4fcc
MSA 방식에서는 배포가 상당히 어렵다.
애플리케이션이 더 작은 수의 커다란 구성 요소로만 이뤄진 경우 각 구성 요소에 전용 가상머신(VM)을 제공하고 고유한 운영체제 인스턴스를 제공해 환경을 격리할 수 있다. 이 방법의 문제점은 다음과 같다.
이에 반해 리눅스 컨테이너 기술로 격리하면 유사하지만 오버헤드가 훨씬 적다.
(각 게스트 OS가 Hypervisor를 거치는 것이 아니라, 하나의 Host OS에서 실행되는 동일한 커널에서 시스템 콜을 수행한다.)
이러한 컨테이너 격리 메커니즘이 가능하게 하는 기술은 다음과 같다.
도커의 세 가지 주요 개념은 다음과 같다.
컨테이너화된 애플리케이션을 쉽게 배포하고 관리할 수 있게 해주는 소프트웨어 시스템.
개발자가 애플리케이션 매니페스트를 마스터에 게시하면 쿠버네티스는 해당 애플리케이션을 워커 노드 클러스터에 배포한다.
참고 : Manifest는 (배, 비행기의) 화물 목록[승객 명단]을 뜻하는 영단어로, 집합의 일부 혹은 파일들의 그룹을 위한 메타데이터를 포함하는 파일을 뜻한다.
가끔 Docker vs Kubernetes 이런 질문을 찾아볼 수 있는데,
엄연히 쿠버네티스는 Docker와 같은 컨테이너 기술을 바탕으로 컨테이너 관리(컨테이너 오케스트레이션, Container Ochestration)을
편리하게 해주는 기술의 일종이다.
아래의 잘 설명된 IBM Cloud 영상을 보면 더더욱 이해가 잘 될 것이다!
www.youtube.com/watch?v=2vMEQ5zs1ko
9분 59초 만에 Github Action + AWS Elastic Beanstalk로 TS 프로젝트 CI/CD 파이프라인 구축하기 (4) | 2021.06.30 |
---|---|
InfluxDB & Grafana 연결 문제 해결 (Bad Gateway, Bad Request, Error reading InfluxDB) (0) | 2021.06.24 |
[Kubernetes] 4. LivenessProbe, ReplicationController, ReplicaSet, DaemonSet, Job, CronJob (0) | 2021.03.29 |
[Kubernetes] 3. Pod(파드) (0) | 2021.03.24 |
Amplify로 React 프로젝트 쉽고 빠르게 배포하기 (2) | 2021.02.16 |
댓글 영역