# 쿠버네티스를 왜 사용하는가?
대규모의 서비스를 운영할 때 자원을 최대한 효율적으로 사용해야 비용적으로 유리하기 때문이다. 서버 자원을 효율적으로 사용하기 위해서는 가상화기술을 사용한다.
# 쿠버네티스 등장 배경
시스템에 대한 꾸준한 개발을 통해 리눅스는 자원들을 격리해 프로세스들이 독립적인 환경에서 돌아가게 해주는 기술들( 리눅스 자원 격리 기술 : chroot, namespace, cgroup )이 있었지만 사용하기에 어려워 대중적으로 사용되지 않았다. 이 기술과는 별개로 vm 가상화 기술이 기업들은 물론 일반인들에게 까지 쉽게 vm을 가상화 할수있을정도로 발전해있었다.
2010년도에 rackspace 클라우드 기업과 미국 NASA에서 OpenStack 이라는 VM을 가상화 시켜주는 오픈소스가 등장을 하게 된다. 오픈스택에 대한 개발이나 스폰서 활동들이 활발히 진행 되었다. 선진 기업들은 오픈스택을 가지고 자신의 운영환경을 자동화 시키려고 시도하였다. 하지만 자동화는 되는것 같은데 시스템 효율이 나지 않았다. 왜냐하면 vVM을 가상화 하기 위해 무거운 OS 를 띄워야 한다는 것과 가벼운 서비스 하나를 띄우기 위해 이보다 더 큰 OS를 띄워야 했기 때문이다.
2014년도에 dotCloud 라는 회사가 예전 리눅스의 자원 격리 기술을 컨테이너라는 개념으로 누구나 쉽게 사용 할 수 있게 만들었고 회사명을 Docker라고 변경하면서 이 기술을 오픈소스로 공개했다.
도커의 컨테이너 가상화기술은 서비스간에 자원을 격리 하는데 OS를 별도로 띄우지 않아도 되고 OS 기동시간이 없어 자동화시에 빠르고 자원 효율이 좋다. 하지만 도커는 하나의 서비스를 컨테이너로 가상화시켜 배포를 하는것이기 때문에 많은 서비스를 운용할때는 일일이 배포하고 운영하는 역할을 해주어야 하기 때문에 적합하지 않았다.
여러개의 컨테이너 서비스를 배포하고 관리해주는 솔루션을 컨테이너 오케스트레이션이라고 한다. 도커의 컨테이너 오픈소스 기술을 가지고 많은 회사들이 저마다의 오케스트레이터를 만들었다. ( docker, amazone, RANCHER, HashiCorp) 쿠버네티스가 릴리즈 버전을 내놓은건 다른회사들보다 늦었지만 쿠버네티스는 구글에서 주도를 했지만 해당 프로젝트에 여러 업체( RedHat, Microsoft, IBM, CoreOS, docker, MESOSPHERE, SALKSTACK) 들이 참여하여 저마다의 시스템 운영 노하우를 녹여내어 만족도가 높았기 때문에 쿠버네티스는 오케스트레이터들 중 가장 많이 사용되었다. 쿠버네티스는 서비스 배포/운영의 표준으로 자리 잡았다. 이 기술을 바탕으로 클라우드 서비스를 제공하는 많은 기업들은 쿠버네티스 환경이 설치 되어있는 인프라를 서비스 하고있다.
출처:
https://www.inflearn.com/course/%EC%BF%A0%EB%B2%84%EB%84%A4%ED%8B%B0%EC%8A%A4-%EA%B8%B0%EC%B4%88 인프런 강의를 보고 정리 하였습니다.
'클라우드 > 쿠버네티스(Kubernetes)' 카테고리의 다른 글
리눅스 → 도커 → 쿠버네티스 실습 시나리오 (0) | 2021.09.30 |
---|---|
VM(가상머신) 과 Container(컨테이너)의 차이 (3) | 2021.09.30 |
kubernetes 에서 VM 생성하기 1 (0) | 2021.09.25 |
쿠버네티스 Kubernetes 스테이트풀셋 1 (0) | 2021.07.20 |
쿠버네티스 Kubernetes 애플리케이션 사용자화 6 / 시크릿(Secret)을 이용한 사용자화 1 (0) | 2021.07.14 |