쿠버네티스란?

양진영·2022년 2월 25일
0

과거의 서버는 하나의 서버에서 여러가지 어플리케이션이 한번에 돌아갔었다. 한 서버에서 여러가지의 애플리케이션이 돌아갈 경우 하나의 애플리케이션이 리소스를 과다 차지하는 바람에 다른 애플리케이션의 성능이 현격하게 저하되는 경우가 많았엇다. 이러한 것을 해결하기 위해 vm기술이 도입되었다. vm은 서버의 리소를 나누어 여러 서버를 여러 격리 환경에서 운영하는것이 가능했다. 하지만 결국 한 서버의 리소스를 가져오기 때문에 하나의 애플리케이션이 다른 애플리케이션의 성능을 저하시킬 일은 없었지만 리소스 자체의 할당이 너무 컷기 때문에 좀더 리소스를 효율적으로 분배할 방식이 필요 하였다. 그래서 지금에 온것이 컨테이너 방식의 리소스 할당이라고 볼수있겠다.

컨테이너는 애플리케이션이 운영되는 최소한의 리소스를 할당받아 그것을 이용하여 하드웨어 그자체를 나누는것이 아니라 필요한 만큼만 할당받아서 운영된다. 이러한 컨테이너는 예전엔 리소스 문제로 활용하지 못했던 여러 문제들이나 시도해보지 못했던 여러 서비스를 실행시켜 볼수있었다. 여러 컨테이너를 운영하여 원하는 서비스를 좀더 효율적으로 실행시키는것은 좋은 소식이었다. 하지만 과거보다 운영이 어려워진건 사실이다. 컨테이너가 3개였던 시절보다 현재는 10개 100개의 컨테이너를 조율하는것은 쉽지 않을것이다.

이때 나온것이 쿠버네티스라는 서비스이다. 쿠버네티스는 node라는 가상 pc환경인 node에서 필요한 기능끼리 묶인 pod가 존재한다. pod는 기본적으로 동작에 필요한 필수 컨테이너만 실는것이 원칙이라 하나의 pod안에 하나의 컨테이너가 존재하지만 강하게 시너지를 내는 컨테이너들이라면 하나의 pod안에 강하게 결합된 컨테이너를 두기도 한다.

이렇게 컨테이너들을 조율하는것을 컨테이너 오케스트레이션 이라고 하는데, 컨테이너 오케스트레이션을 해주는 툴은 쿠버네티스만 있는것이 아니다. 도커 스웜, 메소스등 다른 툴도 있지만 쿠버네티스는 로드밸런스 기능을 자동 탑제하여 사용자가 사용하기 편하다.

profile
왜? 라는 질문을 중요시하는 서버 개발자입니다

0개의 댓글