본문 바로가기
IT

쿠버네티스란 쓰는 이유와 장점 사용법

by 얼리컴티 2023. 5. 18.
반응형

컨테이너화된 앱의 자동 디폴로이라 불리는 관리 시스템, 쿠버네티스를 살펴봤습니다.


요즘 IT 생태계에 관심이 많으신 분들이라면 쿠버네티스라는 단어를 들어 보셨을 것 같습니다. 실제로 쿠버네티스에 대해 개발자들의 관심이 높아지고 있고, 여러 대기업에서 새로운 시스템을 쿠버네티스를 기반으로 전환했다는 소식이 종종 들리고 있습니다. 그렇다면 쿠버네티스는 어떤 것이기에 이렇게 주목받고 있는 것인지가 큰 관건이라고 할 수 있겠습니다.

쿠버네티스를 접해보지 않은 사람들은 당연히 쿠버네티스에 대해 궁금한 것이 많을 것입니다. 시작하기 전부터 등장하는 여러 가지 용어와 자료들까지, 쿠버네티스와 관련된 개념을 하나씩 알아보는 것이 큰 도움이 될 것 같은데, 이번 포스팅에서 이 쿠버네티스에 대해서 자세히 살펴보도록 하겠습니다.

 

 

쿠버네티스는 컨테이너화된 워크로드와 서비스를 관리하기 위한 이식성이 있고, 확장가능한 오픈소스 플랫폼입니다. 쿠버네티스는 선언적 구성과 자동화를 모두 용이하게 해주고 크고, 빠르게 성장하는 생태계를 가지고 있습니다. 쿠버네티스 서비스, 기술 지원 및 도구는 어디서나 쉽게 이용할 수 있다는 것입니다.

 

쿠버네티스란 명칭은 키잡이(helmsman)나 파일럿을 뜻하는 그리스어에서 유래했다고 하는데, K8s라는 표기는 "K"와 "s"와 그 사이에 있는 8글자를 나타내는 약식 표기입니다. 구글이 2014년에 쿠버네티스 프로젝트를 오픈소스화하여 프로덕션 워크로드를 대규모로 운영하는 커뮤니티의 최고의 아이디어와 적용 사례가 결합되어 있다고 할 수 있겠습니다.

 

초기 조직은 애플리케이션을 물리 서버에서 실행했었습니다. 한 물리 서버에서 여러 애플리케이션의 리소스 한계를 정의할 방법이 없었기에, 리소스 할당의 문제가 발생하는데, 예를 들어 물리 서버 하나에서 여러 애플리케이션을 실행하면, 리소스 전부를 차지하는 애플리케이션 인스턴스가 있을 수 있고, 결과적으로는 다른 애플리케이션의 성능이 저하될 수 있었습니다.

 

이에 대한 해결책은 서로 다른 여러 물리 서버에서 각 애플리케이션을 실행하는 것이 있으나, 이는 리소스가 충분히 활용되지 않는다는 점에서 확장 가능하지 않았으므로, 물리 서버를 많이 유지하기 위해서 조직에게 많은 비용이 들었습니다. 그 해결책으로 가상화가 도입된 것입니다. 이는 단일 물리 서버의 CPU에서 여러 가상 시스템 (VM)을 실행할 수 있게 해줍니다.

 

가상화를 사용하면 VM간에 애플리케이션을 격리하고 애플리케이션의 정보를 다른 애플리케이션에서 자유롭게 액세스 할 수 없으므로, 일정 수준의 보안성을 제공할 수 있습니다.

 

 

컨테이너는 애플리케이션을 포장하고 실행하는 좋은 방법이라 할 수 있겠습니다. 프로덕션 환경에서는 애플리케이션을 실행하는 컨테이너를 관리하고 가동 중지 시간이 없는지 확인해야 하는데 '그러한 문제를 시스템에 의해 처리한다면 더 쉽지 않을까?'라는 생각에서 나오게 된 것이 바로 이 쿠버네티스란 것입니다.

 

분산 시스템을 탄력적으로 실행하기 위한 프레임 워크를 제공하고 애플리케이션의 확장과 장애 조치를 처리하고, 배포 패턴 등을 제공하고 있습니다. 

반응형

댓글