[기획] K8s 운영/관리 위한 대표 오픈소스 도구들과 활용 추세
K8s 운영/관리 위한 대표 오픈소스 도구들과 활용추세
- Open up -
쿠버네티스(Kubernetes)는 도커와 더불어 컨테이너 기술의 대중화를 이끈 일등 공신이다. 구글에서 만든 오픈소스 기술이기에 2014년 첫 등장부터 주목을 받긴 했지만 최근에는 점점 더 커지는 생태계로 많은 사용자가 몰리고 있다. 쿠버네티스의 뿌리가 오픈소스이다 보니 관련 기술도 대다수가 오픈소스인 경우가 많다. 쿠버네티스를 중심으로 어떤 오픈소스 기술이 개발되고 있는지 한번 알아보자.
빅테크 모두가 관심을 보이는 쿠버네티스 생태계
인프라 업계에서 말하는 ‘컨테이너’란 특정 앱이 구동되기 위해 필요한 모든 요소를 포함한 소프트웨어 패키지를 뜻한다. 마치 화물 컨테이너 안에 온갖 물건을 담아 한 번에 옮길 수 있는 것처럼, 소프트웨어를 실행하는 데 필요한 모든 것을 담아 놓는 식이다. 그뿐만 아니라 컨테이너 기술은 애플리케이션을 격리할 수 있는 특징이 있다. 따라서 컨테이너를 이용하면, 운영체제, 가상 머신, 물리적 서버 등 인프라 종류에 상관없이 애플리케이션 이동 및 배포가 쉬어진다. 얼핏 보면 가상 머신과 유사하지만, 컨테이너는 가상 머신보다 더 가벼우면서 OS 수준에서 가상화할 수 있다는 차이를 가진다. 쿠버네티스는 그런 컨테이너화된 워크로드와 서비스를 관리해주면서 확장해주는 오픈소스 플랫폼이다.
전통적인 배포와 가상화 배포 그리고 컨테이너 배포 차이
출처: 쿠버네티스 공식 홈페이지
쿠버네티스를 더 쉽고 빠르게 만드는 도구
쿠버네티스의 인기를 잘 보여주는 것이 바로 인수 사례다. 우리가 알고 있는 수많은 인프라 기업이 이미 쿠버네티스 관련 기업을 꾸준히 인수해오고 있다. 쿠버네티스 공동 창시자가 만든 헵티오(Heptio)라는 기업은 설립 2년 만에 VM웨어에 인수됐다. 헵티오는 관리 및 최적화를 제공하는 기업용 쿠버네티스 서비스를 만든 것으로 유명하다. VM웨어는 쿠버네티스 관련 보안 전문 기술을 제공하는 옥타린(Octarine)도 2020년 인수했다. 스토리지 기업인 퓨어스토리지는 쿠버네티스 기반 데이터 저장 및 관리 기술을 제공하는 포트웍스(Portworx)를 합병했다. 마이크로소프트(MS)는 쿠버네티스 툴을 제공하는 데이스(Deis)를 인수했고, 시스코는 쿠버네티스 관련 거버넌스와 비용을 관리해주는 레프렉스(Replex)을 인수했다.
이런 인수 사례는 쿠버네티스 열풍을 보여주는 동시에 얼마나 많은 다양한 기술이 쿠버네티스와 연결됐는지 확인시켜준다. 실제로 쿠버네티스는 인프라 중심에 있어서 다양한 기술과 연동된다. 최근에는 특히 관리나 모니터링 및 보안 분야에서 쿠버네티스 관련 신규 프로젝트가 많이 생기고 있다. 그중에 상당수는 오픈소스 형태다. 쿠버네티스 기술은 리눅스 재단 산하인 오픈소스 단체 CNCF(Cloud Native Computing Foundation)가 관리하고 있는데, CNCF에서 직접 연계된 오픈소스 기술을 육성하기도 한다.
쿠버네티스 관련 프로젝트는 단순히 오픈소스로 공개된 것 이상 커뮤니티의 참여가 활발한 경우가 많다. 현재 깃허브에서 쿠버네티스 관련 오픈소스 프로젝트를 검색하면 10만 개가 넘는 레포지토리가 나온다. 그중에서도 오픈소스 프로젝트의 인기도를 보여주는 즐겨찾기(스타) 수를 통해 사용자가 많이 찾는 기술을 확인 가능하다.
먼저 쿠버네티스 개발을 도와주는 기술들이 존재한다. 대표적으로 ‘미니쿠베(minikube)’는 맥OS, 리눅스, 윈도우처럼 로컬 환경용 쿠버네티스 클러스터 구현을 돕는다. 쿠버네티스 입문자가 쿠버네티스를 쉽게 경험하고 배포할 수 있게 만들기 위해 개발됐다고 한다. 쿠버네티스 관리 기술 ‘케이옵스(Kops)’도 인기가 높다. 케이옵스는 쿠버네티스 클러스터를 여러 개를 생성하고 배포하도록 지원하며, 특히 아마존웹서비스(AWS), 구글 클라우드 플랫폼(GCP), 디지털오션같은 클라우드 기술에서 바로 사용하기 쉽게 만든 것이 특징이다. 기여자 중에는 구글, 프루프포인트, 데이터도그, 깃허브 출신 엔지니어가 포함됐다.
‘k3s’는 경령 버전의 쿠버네티스를 만드는 기술이다. k3s는 100MB 미만 크기의 싱글 바이너리 형태이자 프로덕션 수준의 쿠버네티스를 배포할 때 쓸 수 있다. 사물인터넷, 임베디드, 엣지 컴퓨팅 같은 환경이나 메모리 사양이 작은 경우에도 쓰기 좋게 만들었다고 한다. 쿠버네티스(Kubernetes)는 영어로 10글자 단어인데 가장 앞과 뒷글자를 제외하고 나머니 글자를 8로 표현해 k8s라고 줄여서 부르기도 한다. k3s는 기존 쿠버네티스보다 작은 규모라는 의미를 표현하기 위해 다섯 글자라는 뜻을 가진 k3s라는 이름을 채택했다. 그 외에도 단일 통합 환경에서 패키징과 배포를 결합하는 ‘헴(Helm)’이나 쿠버네티스에서 복잡한 영역을 추상해주는 ‘cdk8s’ 같은 오픈소스 프로젝트를 찾는 사용자가 많다.
쿠버네티스 관리 모니터링에 특화된 도구
이번에는 모니터링 기술을 살펴보자. 알리바바에서 만든 오픈소스 기술인 ‘나코스(nacos)’은 동적 서비스를 탐색 및 설정할 때 쓰인다. 엄밀히 말하면 쿠버네티스 전용 기술은 아니지만, 쿠버테니스 환경에서 설치하고 모니터링하는 예시를 문서화해 공유하고 있다. 나코스는 알리바바 그룹 외에도 샤오미, 차이나 모바일 등이 활용하고 있다. ‘쿠베몽키(kube-monkey)’는 시스템의 탄력성을 테스트하고 구현하는 도구다.
인프라 업계에서는 데이터 센터 및 클라우드 환경에 문제가 생겨서 이를 빠르게 복구하는 방식을 카오스 몽키(Chaos Monkey)라고 부른다. 넷플릭스가 처음 이를 소개해서 ‘넷플릭스의 카오스 몽키’라고 표현하는데, 쿠베 몽키는 해당 카오스 몽키 방식을 쿠버네티스 환경과 접목한 것이다. 즉 쿠베몽키를 사용하면 쿠버네티스 파드(pod)가 무작위로 삭제되며 엔지니어는 서비스의 회복 수준이 어느 정도 확인하며 기술을 확인할 수 있다.
‘쿠베 스테이트 메트릭스(kube state metrics, KSM)’는 말 그대로 쿠버네티스 환경 상태를 알려준다. 쿠버네티스 API 서버를 이용하기 때문에 별도의 소프트웨어 구현 없이 노드나 파드의 상태를 파악해 문제점을 발견할 수 있다. ‘쿠베코스트(Kubecost)’는 쿠버네티스 관련 비용을 모니터링하는 오픈소스 도구다.
쿠베코스트를 이용하면, AWS, MS 애저, GCP 또는 온프레미스 환경에 배포된 쿠버네티스를 서비스 종류, 일정, 팀, 프로젝트 이름 등으로 나눠서 비용을 추적할 수 있다. 사용량을 분석해 따로 보고서를 만들거나 알림을 받을 수 있기 때문에 낭비되는 인프라를 막거나 거버넌스 구축에 참고할 수 있다고 한다.
쿠베코스트 예시
출처:쿠베코스트 공식홈페이지
그 외에 쿠버네티스 환경 내 보안 문제점을 찾아주는 ‘쿠베 헌터(Kube hunter)’도 주목할 만하다. 쿠베 헌터는 ATT&CK 매트릭스를 활용해 쿠버네티스에서 발견될 수 있는 취약점 종류를 분류해놓았는데, 노트북을 포함해 어떤 기기에서도 간단히 IP주소나 쿠버네티스 클러스터를 도메인을 스캔해서 보안 문제점을 발견할 수 있다고 한다. 또한 쿠버네티스 환경에서 사용하는 데이터베이스 기술을 최적화해 관리하는 ‘쿠베DB(KubeDB)’라는 기술도 인상적이다.
쿠버네티스 보안 취약점 관련 요소
출처:쿠베 헌터 홈페이지
앞서 언급한 프로젝트는 주로 커뮤니티를 중심으로 발달한 기술이지만, 여전히 스타트업 업계에서는 쿠버네티스와 관련된 신기술이 끊임없이 나오고 있다. 인프라 기술 업계에서 이렇게 작은 기업들이 성장하는 것은 매우 이례적이다. 그만큼 쿠버네티스에 대한 수요가 높다는 것을 보여주는 현상이기도 한다. 실제로 CNCF 2022년 연례보고서에 의하면 전 세계 조사 대상 기업 중 96%가 쿠버네티스를 도입하고 있었다. 비슷하게 VM웨어 보고서는 기업의 현업 운영 시스템에서 쿠버네티스 채택률은 65%이라고 밝혔다.
사실 쿠버네티스 기술의 구축 및 관리 난이도는 높은 것으로 알려져 있다. 그럼에도 불구하고 쿠버네티스가 가진 장점 덕에 관리형 서비스나 전문 도구의 힘을 빌리려는 기업도 많아지면서 쿠버네티스 생태계가 커지고 있다. 실제로 쿠버네티스의 공동 창시자인 조 베다는 컨테이너 오케스트레이션 툴이 학습하기 까다롭다고 인정하면서, “쿠버네티스가 도입을 넘어 다음 단계로 나아가려면, 커뮤니티가 쿠버네티스 기술을 리눅스 커널처럼 보편화하는 데 초점을 맞춰야 한다”라고 밝혔다.
현재 국내에서도 와탭랩스, 인프라닉스, 넥스클라우드 등으로 대표되는 스타트업들이 쿠버네티스 모니터링 및 관리 기술을 내놓으면서 기업용 쿠버네티스 시장을 개척하고 있다. 오픈소스 기술과 기업용 서비스가 서로 경쟁하는 구도를 그리면서 앞으로 쿠버네티스 시장의 발전은 계속 이어질 것으로 예상된다.
※ 참고자료
1) 쿠버네티스란 무엇인가?, https://kubernetes.io/ko/docs/concepts/overview/what-is-kubernetes/
2) https://www.kubecost.com/
3) https://aquasecurity.github.io/kube-hunter/
4) https://github.com/aquasecurity/kube-hunter
5) CNCF Sees Record Kubernetes and Container Adoption in 2021 Cloud Native Survey, 2022년2월, https://www.cncf.io/announcements/2022/02/10/cncf-sees-record-kubernetes-and-container-adoption-in-2021-cloud-native-survey/
6) VMware Tanzu® Supercharges Portfolio to Help Customers Build, Run, and Manage Cloud‑Native Apps, 2022년8월, https://news.vmware.com/releases/vmware-explore-2022-tanzu-cloud-native-apps
7) "쿠버네티스, 왜 이리 배우기 어려운가?" 공동 창업자가 내놓은 답변 보니, 2021년 2월, https://www.ciokorea.com/news/181834
번호 | 제목 | 작성자 | 조회수 | 작성 |
---|---|---|---|---|
공지 | [2024년] 오픈소스SW 라이선스 가이드 개정판 발간 file | support | 12538 | 2024-01-03 |
공지 | [2024년] 기업 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 10059 | 2024-01-03 |
공지 | [2024년] 공공 오픈소스SW 거버넌스 가이드 개정판 발간 file | support | 9949 | 2024-01-03 |
공지 | 공개 소프트웨어 연구개발(R&D) 실무 가이드라인 배포 file | support | 22454 | 2022-07-28 |
공지 | 공개소프트웨어 연구개발 수행 가이드라인 file | OSS | 20797 | 2018-04-26 |
438 | [기획기사]자율주행기술을 주도하는 오픈소스 프로젝트와 기술 | support | 3889 | 2022-12-26 |
437 | [11월 월간브리핑] 오픈소스를 이용한 IOT 기술의 동향 | support | 3731 | 2022-11-28 |
436 | [기획] 사물 인터넷 기술의 성장 동력 오픈소스 | support | 2378 | 2022-11-28 |
435 | [기획기사] 오픈소스 기반 AI와 IOT 융합한 지능형 사물 인터넷 | support | 3919 | 2022-11-28 |
434 | [10월 월간브리핑] 오픈소스 쿠버네티스를 통한 혁신과 미래 | support | 2544 | 2022-10-25 |
433 | [기획] K8s 운영/관리 위한 대표 오픈소스 도구들과 활용 추세 | support | 5576 | 2022-10-25 |
432 | [기획기사] 클라우드의 중심 컨테이너 그리고 오픈소스 쿠버네티스 | support | 2646 | 2022-10-25 |
431 | [9월 월간브리핑] 클라우드를 통한 오픈소스 DBMS 혁신과 발전 | support | 3957 | 2022-09-27 |
430 | [기획기사] 금융기업에서 오픈소스 DBMS 사용현황 | support | 5812 | 2022-09-27 |
429 | [기획] 기업의 오픈소스DBMS 활용추세와 상용 DBMS 한계점 | support | 14235 | 2022-09-27 |
0개 댓글