쿠버네티스는 컨테이너를 관리하기 위한 툴이다. 도커를 이용해서 Node js 혹은 장고 웹사이트를 AWS로 배포하려고 한다면 쿠버네티스를 알아야 할 필요가 없다. 그냥 도커를 업로드하고 배포를 하면 된다.
MSA(Micro-service archtechture)를 갖고 있다면, 즉 한 컨테이너는 유저 업로드를 다루고, 다른 한컨테이너는 인증을 다루고 어떤 건 결제만 다루고 있다면 이 모든 컨테이너들은 동시에 업로드 되어야 한다.
MSA 아키텍처는 하나의 큰 애플리케이션을 여러 개의 작은 애플리케이션으로 쪼개어 변경과 조합이 가능하도록 만 형태이며, micro service 하나하나를 붙여 어떠한 큰 결과를 만드는 것이다(레고).
그러나 많은 컨테이너들을 갖고 있다면 문제가 생길 수 있다. 만약 하나의 컨테이너가 멈추면, 재시작을 해야 한다.이 때 쿠버네티스가 등장한다. 컨테이너들을 바라보면서 문제가 있는지 없는지 체크하는 게 아니라, 죽으면 재빠르게 재시작 하는 것이 아니라, 쿠버네티스로 최소 5개의 컨테이너들이 작동하게 할 수 있다. 그 중 하나라도 죽으면 쿠버네티스가 그 컨테이너를 재시작 할 것이다. 이것이 첫째 이유이다. 컨테이너들을 모니터링한다. 자동으로 재시작 한다. 컨테이너가 많은 경우, 쿠버네티스가 유용하다.
1만명의 유저가 접속을 할 경우 그러나 웹/앱이 준비가 되지 않은 경우 쿠버네티스는 해당 웹사이트의 니즈를 수용할 수 있도록 자동으로 새로운 컨테이너들을 만들 수 있다. 사람들이 떠나고 니즈가 줄어드면 컨테이너는 지정해둔 최소 숫자로 조정된다. 이전에는 수동으로 해야하는 작업이었지만, 쿠버네티스가 도움을 준다.
클라우드에 5개의 컨테이너가 있다. 코드의 버그를 고치고 싶다거나 버전을 업데이트 하고 싶은 경우 컨테이너들을 끄고, 새로운 버전을 올리고, 다시 컨테이너들을 켜야 할 것이다. 즉 웹사이트가 잠시 다운이 된다. 그러나 쿠버네티스를 이용하면 다운없이 컨테이너의 신규 버전을 차례로 업데이트 해준다.
컨테이너로 작업을 할 때, 자동화해야 할 것들이 많다. 새로운 버전을 배포하거나, 컨테이너 사이즈를 조정하거나, 혹은 컨테이너가 멈췄을 때 재시작 한다거나.
많은 컨테이너가 필요한 앱/웹 서비스를 운영한다면, 쿠버네티스는 훌륭한 솔루션이다.
컨테이너 오퍼레이팅 시스템
1. 컨테이너관리 2.로드밸런싱 3.롤링업데이트
메타버스란? (0) | 2022.07.12 |
---|---|
알고리즘 & 자료구조 - 큐(Queues), 스택(Stacks) (0) | 2022.07.07 |
[CS지식] www.naver.com을 주소창에 치면? (0) | 2022.07.06 |
데브옵스란?(DevOps) (0) | 2022.07.06 |
도커란 무엇인가(Docker) (0) | 2022.07.06 |
댓글 영역