Kubernetes

[Kubernetes] 쿠버네티스, 왜 배워야 하는가?(feat. 호텔 확장)

진철 2024. 7. 31. 14:26
728x90
반응형
그래서 이거 왜 배우는데?

Kubernetes는 k8s(첫 글자 K와 마지막 글자 S 사이에 8개의 알파벳이 있다는 뜻)라고도 불리며 컨테이너 오케스트라 중 하나다.

컨테이너 오케스트라? 뭔가 느낌이 오지 않는가?

오케스트라라고 한다면, 다양한 악기들을 조화롭게 연주하기 위해서 컨트롤이 필요한 작업이다.

만약 악기 대신에 다양한 컨테이너가 있으면 어떨까?

서비스를 원활하게 운영하기 위해서는 컨테이너들을 잘 관리하는 것이 필수적이다.

학부 수준에서의 프로젝트에서는 컨테이너가 많이 않기에 관리가 어렵지 않지만, MSA가 보편화되어 있는 서비스일 경우에는 이야기가 달라진다.

버전 관리도 더 꼼꼼하게 해야하고 충돌을 방지하 위해서 신경 써야할 부분이 많다.

이 때, 컨테이너들을 자동적으로 관리하기 위해 탄생한 것이 쿠버네티스이다.

쿠버네티스는 Google에서 개발한 오픈 소스 시스템으로, 컨테이너화된 애플리케이션의 배포, 확장 및 운영을 자동화하기 위해 설계되었으며, 복잡한 컨테이너 환경에서 애플리케이션을 쉽게 관리하고 유지할 수 있도록 도와준다는 것이 특징이다.

 

호텔로 알아보는 쿠버네티스의 원리

복잡한 환경을 관리하는 도구이기 때문에 알아야할 개념들이 꽤나 존재한다.

먼저, 어떤 식으로 컨테이너들을 관리하는 지에 대해 크게 알아보자.

 

당신을 호텔을 운영하고 있는 사람이라고 가정하자.

초기에는 자본이 많지 않아서 5개의 객실을 가지고 있었다.

객실 수가 많지 않기에 직접 호텔 방을 정리하고 관리하면서 호텔을 직접 운영하기에는 큰 문제가 없을 것이다.

하지만, 수익이 많이 증가하여 호텔을 확장하면서 객실 수가 100개가 되었다고 하자. (오우오우 너무 확장적이고)

본인 혼자서 100개나 되는 많은 객실을 관리하면서 운영을 할 수 있을까?

나루토가 아닌 이상, 불가능할 것이다.

따라서, 당신은 부서를 설립할 것이고 사람을 고용하여 부서마다 장(長)을 둘 것이다.

그렇다면, 당신은 호텔 운영에만 전념할 수 있을 것이고 호텔 내의 일들은 부서장들을 통해서 진두지휘가 가능할 것이다.

'딸깍' 한 번에 호텔을 관리할 수 있게 된 것이다.

 

느낌이 오지 않는가?

이제 돌아와서 객실 하나하나를 컨테이너라고 하자.

그렇다면 부서장은 쿠버네티스가 되는 것이다.

따라서, 쿠버네티스에게 명령을 내림으로써, 컨테이너들을 일일이 방문할 필요 없이 관리할 수 있다.

매우 편해진다는 것이다.

728x90
반응형