docker VS kubernetes
가상서버, container application을 공부하다보면 가장 많이 들리는게 도커와 쿠버네티스이다.
이 둘을 선택의 대상으로 생각하고 개념을 이해해버리면 안된다.
컨테이너란 무엇일까?
가령 하나의 서비스를 이루는 구조가 FE는 react, 그리고 서버는 node.js / python / java로 구성되어있다고 하면 이 각각 하나가 컨테이너이다.
도커란?
컨테이너 기반의 오픈소스 가상화 플랫폼. 각 응용프로그램들인 컨테이너를 배치하고 이들의 배포와 관리를 단순하게 해준다. 이미지는 컨테이너 실행에 필요한 파일들과 설정을 가지고 있는 개념으로 보면된다. 이 이미지들로 컨테이너를 구축하고 실행한다.
위와 같은 구조를 여러번 배포해서 여러개의 서버에 동작하도록 하고 싶으면? 즉 scale out이 필요할때는? 이때 오케스트레이션 툴인 쿠버네티스가 등장한다.
쿠버네티스란?
컨테이너 오케스트레이션 툴.
다수의 컨테니어 실행을 관리 및 조율하는 시스템. 다른 오케스트레이션 툴로 대표적으로 AWS ECS가 있다.
컨테이너화된 워크로드와 서비스를 관리하기 위한 확장 가능한 오픈소스 플랫폼이다. 이를 이용하면 서비스에 사용할 서버들을 클러스터로 구성하기만 하면 명령어 한번으로 자동 배포가 가능하다. 또한 클러스터 일부에 문제가 발생해도 문제가 발생한 서버에 있는 컨테이너를 정상운영중이 ㄴ다른 서버로 옮겨서 실행할 수 있게 된다. k8s라고도 부른다.
즉 둘은 취사선택해서 사용하는 것이 아니다. 도커는 microservice를 컨테이너화해서 배포 및 관리를 용이하게 해주는 플랫폼이고, 쿠버네티스는 이렇게 컨테이너화된 각각의 어플리케이션을 여러 서버에 배포할때 관리를 수월하게 해주고 도커 워크로드를 다룰 수 있게 해준다.
https://wooono.tistory.com/109
https://jbhs7014.tistory.com/81
https://www.youtube.com/watch?v=S3FVcdZcZnA
'DevOps' 카테고리의 다른 글
VM(가상머신) VS Container(컨테이너) (0) | 2022.03.01 |
---|---|
CI/CD란? (0) | 2022.03.01 |
Deploy- EC2 가상서버에서 서버연동(Nginx+flask) (0) | 2021.01.14 |
Deploy_AWS Route 53 / ACM으로 SSL 인증서 발급받기 (0) | 2021.01.14 |
Deploy_DNS(Domain Name System)를 이해하고 사용하기 (0) | 2021.01.14 |