본문 바로가기
CICD

쿠버네티스 소개

by 장중앙 2021. 12. 28.

쿠버네티스가 등장하기 전까지의 가상화 기술

VM(Virtual Machine)

서비스 운영을 위해서는 서버 자원을 효율적으로 사용하는 것이 중요 ex) 게임의 접속 대기열

트래픽을 예상하기도 어려우며, 미리 여유러운 자원을 준비하는 것도 비용적으로 쉽지 않은 문제

이를 해결하기 위해 VMware, Virtual Box와 같은 VM이 출현하여 서버 운영의 자동화가 가능해짐

 

Docker(Container)

VM 가상화는 OS가 필요하다는 문제가 발생, 하나의 서비스를 위해 더 무거운 OS를 띄워야하기 때문

이러한 문제를 Docker(컨테이너 가상화 기술)로 해결가능

컨테이너 가상화 기술은 서비스간 자원 격리로 OS를 띄울 필요가 없음, OS 기동 시간이 없기 때문에 자동화가 빠르고 자원 효울이 높음

 

 

쿠버네티스의 등장 및 소개

Kubernetes(Orchestrator)

Docker는 하나의 서비스를 컨테이너로 가상화하기 때문에 많은 서비스를 운영할 떄 일일이 배포하고 운영하는 역할을 하지는 못함 이를 보완하기 위해 여러 컨테이너들을 관리해주는 솔루션인 컨테이너 오케스트레이터라는 개념이 등장

 

Docker, Amazon 등의 기업의 오케스트레이터에 비해 구글이 주도한 쿠버네티스는 비교적 늦게 출시

하지만, 여러 기업에서 참여 각자의 시스템 운영 노하우가 포함되며 쿠버네티스의 만족도가 높으며 사용자가 급증하여 오케스트레이터의 표준이 됨

 

현재 클라우드환경 및 기술이 발전하고 있으며 AWS, Google Cloud와 같은 클라우드 서비스에서는 쿠버네티스 환경이 설치된 인프라를 서비스

 

Kubernetes의 특징

위에 설명과 마찬가지로 여러 서비스를 효율적으로 관리하기 위해 등장했으며, 운영 자동화의 특징을 가짐

 

Kubernetes는 운영 자동화를 위해 크게 Auto Scaling, Auto Healing, Deployment를 지원

  • Auto Scaling -  트래픽에 따라 서버의 자원 양을 조절가능
  • Auto Healing - 장애가 발생해도 여분의 서버가 있다면 서비스를 유지 가능
  • Deployment - 업데이트 방식에 대해 자동적으로 처리되도록 지원

이러한 운영에서의 특징 외에도 작은 서비스 단위의 개발/배포 및 서비스별 리소스 운영에 장점을 가지기 때문에 MSA(Micro Servoce Architecture)에서는 Kubernetes가 필수적

 

댓글