Kubernetes

Why Kubernetes?

JAEJUNG 2021. 7. 27. 16:10

쿠버네티스를 얘기할 때 빠지지 않는 것이 바로 Docker이다.

언뜻 보면 "컨테이너 가상화 기술" 이라는 점에서 비슷하다고 얘기할 수 있지만,

Docker는 하나의 컨테이너를 가상화시켜 배포해주는 역할을 한다.

기업에서 많은 서비스들을 운영하는데 docker로 일일이 배포하고 운영하는 데에는 분명 한계가 있다.

 

이럴 때 필요한 것이 Container Orchestration이다.

< 출처 : Google 이미지 >

 

Why Kubernetes?

1 Server - 1 Service를 운영하던 환경과 비교해보겠다.

예를 들어, 한 게임 회사가 A, B, C 세 개의 게임을 운영하고 있다면 각각의 게임에 맞는 서버를 따로 두어야한다.

트래픽이 집중되는 시간이 다르더라도 이 서버는 계속 유지되고 있고, 장애 발생을 대비하여 임시 서버가 필요한 경우

각 서비스마다 4대의 Server가 필요한 셈이다.

 

이러한 환경에서 Kubernetes를 사용해보자.

먼저 Kubernetes의 Auto Scaling을 활용하면 불필요한 자원의 낭비를 예방할 수 있다.

위와 같이 트래픽량에 따라 서비스의 자원을 유동적으로 변경시켜준다.

또한 장애가 발생하면 자동으로 Backup Server로 서비스가 옮겨 가는 Auto Healing을 통해

서비스가 유지되기 때문에 총 4대의 Server로 서비스를 운영할 수 있다.

그 밖에도 서비스의 업데이트가 필요한 경우 Deployment를 통해 자동으로 업데이트가 이루어진다.