본문 바로가기
Infra/Kubernetes

[Kubernetes] 쿠버네티스 소개

by 진꿈청 2024. 8. 5.

Kubernetes

 

쿠버네티스는 큰 기업들에서 많이 사용이 된다.

 

쿠버네티스를 사용하면 최대한 자원을 효율적으로 사용할 수 있기 때문에 비용적으로 유리하다.

 

서버 자원을 효율적으로 사용하기 위해서는 가상화 기술이 사용이 되며 쿠버네티스에 관해

좀더 잘 이해하려면 가상화기술들에 관한 히스토리를 알 필요가 있다.

 

  1. 최초의 리눅스 시스템 등장
    1. 리눅스 시스템의 꾸준한 개발로 리눅스에는 자원들을 격리해서 프로세스들이 독립적인 환경에서 돌아가게 해주는 기술들이 있었다.
    2. 하지만, 해당 기술들은 사용하기 어려워 대중적으로 이용하지 않았다.
  2. VM 가상화 기술의 등장
    1. 리눅스 시스템의 기술과는 별개로 VM 가상화 기술이 기업들은 물론, 일반인들도 VM을 가상화 할 수 있도록 발전되었다.
      1. rack space, NASA에서 openstack 이라는 VM 가상화 오픈소스를 개발
      2. 이를 토대로, 선진 기업들을 너도나도 자신들의 운영 환경을 자동화 시키려 시도

근데 하다보니 자동화는 되는거 같은데 생각보다 시스템 효율이 안나는걸 느끼게 된다. 가장 큰 원인을 제공하는 것은 VM을 가상화 하기 위해 무거운 OS를 띄워야 한다는 부분이었고, 가벼운 서비스를 하나 띄우기 위해 이보다 더 큰 OS를 띄워야 했다.


 

이쯤, DotCloud 라는 회사가 내장 리눅스의 어려운 자원격리 기술을 컨테이너라는 개념으로 누구나 쉽게 사용할 수 있게 만들었으며

회사를 도커로 변경하며 이 기술을 오픈소스로 공개했다.

 

컨테이너 가상화

컨테이너 가상화 기술은 서비스간에 자원격리를 하는데 OS를 별도로 안 띄워도 된다.

또한, OS 기동시간이 없기 때문에 자동화시에 엄청 빠르고, 자원 효율도 매우 높다.

 

이때부터 도커가 유명세를 탔다. 하지만, 도커 자체는 하나의 서비스를 컨테이너로 가상화시켜 배포를 하는거지

엄청 많은 서비스들을 운영할 때 그걸 일일이 배포하고 운영하는 역할을 하진 않는다.

 

따라서, 위의 작업을 해주는게 컨테이너 오케스트레이터라는 개념이다.

  • 여러 컨테이너들을 관리해주는 솔루션

도커는 오픈소스였기에 많은 회사들이 저마다의 컨테이너 오케스트레이터를 만들게 된다.

이때 표준이 된게 쿠버네티스이다.