컨테이너 운영 플랫폼 쿠버네티스가 올해로 탄생 10주년을 맞았다. 기업과 조직에서 현업 시스템에 쿠버네티스를 활용하는 비율은 어느새 90%를 훌쩍 넘겼다. 역사상 가장 빠르게 성장한 오픈소스 프로젝트인 쿠버네티스는 이제 리눅스를 초월해 방대한 생태계를 거느린 세계 최대 규모의 오픈소스 프로젝트다.
쿠버네티스는 플랫폼이고, 쿠버네티스를 제대로 활용하려면 부가적으로 필요한 오픈소스 프로젝트가 많이 필요하다. 통상 30여개 수준의 프로젝트를 활용하는 것으로 전해진다.
쿠버네티스 개발 운영을 관리하는 클라우드네이티브컴퓨팅재단(CNCF)은 상위에 리눅스재단을 두고, 자체 거버넌스 모델로 운영된다. 쿠버네티스 생태계는 재단 관리 하에 단계별로 성숙하면서 핵심 요소로 자리잡는 게 일반적이다. 프로젝트의 성숙단계에 따라 샌드박스, 인큐베이팅, 졸업 등으로 구분된다. 2024년 12월 현재 CNCF에 등록된 전체 프로젝트는 208개이며, 샌드박스 프로젝트는 130개, 인큐베이팅 프로젝트는 36개, 졸업 프로젝트는 29개다.
작년 CNCF 인큐베이팅에서 크리오(Cri-o), 이스티오(Istio), 실리엄(Cilium) 등이 졸업했다. 쿠버네티스 생태계는 이를 통해 표준 컨테이너 런타임, 서비스 메시, eBPF 기반 네트워킹 및 옵저버빌리티 등에서 진일보하게 됐다.
올해는 총 5개의 프로젝트가 인큐베이팅 단계를 졸업했다. 공통의 이벤트 메타데이터 설명을 담은 사양 ‘클라우드이벤트(Cloudevents, 1월)’, 클라우드 네이티브 런타임 보안 ‘팔코(Falco, 2월)’, 쿠버네티스에서 TLS 인증서 프로비저닝과 관리를 자동화하는 ‘CERT 매니저(cert-manager, 9월)’, 쿠버네티스 네이티브 엣지 컴퓨팅 프레임워크 ‘쿠베엣지(kubeEdge, 9월)’, 클라우드와 엣지에 분산 애플리케이션을 구축할 수 있는 이식성 있는 이벤트 기반 런타임 ‘다프르(Dapr, 10월)’ 등이다.
클라우드이벤트(CloudEvents)
클라우드이벤트는 서비스, 플랫폼, 시스템 간 상호운용성을 제공하기 위해 공통적 방식으로 이벤트 메타데이터를 설명하는 사양이다.
여러 시스템에서 이벤트가 발생한다. 그러나 이벤트를 설명하는 방법은 제각각이다. 이에 개발자는 이벤트를 처리하기 위해 각각의 이벤트 소스에 대한 처리 논리를 작성해야 한다. 또한 이벤트 데이터를 전달하는 공통 라이브러리, 툴링, 인프라 등이 없어 접근성이 떨어진다.
클라우드이벤트를 사용하면 이벤트의 상위 수준 목적을 파악하고, 사용자 지정 이벤트별 이해나 이벤트 자체에 대한 검사 없이 상호운용 가능한 방식으로 적절한 라우팅을 결정할 수 있다.
클라우드이벤트는 지원 이벤트의 생성 및 처리를 돕기 위해 고, 자바스크립트, 자바, C#, 루비, PHP, 파워셸, 러스트, 파이썬 등 9가지 프로그래밍 언어로 SDK를 제공한다.
2018년 5월 CNCF 서버리스그룹에서 개발됐다. 서버리스 플랫폼의 상호운용성과 사용자경험을 개선하는 방법으로 고안됐다. 1.0 버전에 도달하면서 2019년 말 CNCF 인큐베이팅 프로젝트로 승격됐다.
첫 등장 이래 122개 기관에서 340명 이상의 기여자가 참여했다. 어도비 I/O 이벤트, 알리바바클라우드 이벤트브릿지, 애저 이벤트그리드, EU, 구글클라우드 이벤트아크, IBM 클라우드 코드엔진 등에서 채택됐다.
아르고, 팔코, 하버, 케이네이티브, 서버리스 워크플로우 등의 CNCF 오픈소스에서도 채택했다.
클라우드이벤트는 CNCF의 서버리스워킹그룹에 속해 있어서 서버리스 기술 관련 커뮤니티의 난제를 연구 중이다. CNCF의 인큐베이팅 프로젝트인 서버리스 워크플로우 프로젝트가 클라우드이벤트의 파생 프로젝트로 시작됐다. 최근 클라우드이벤트 팀은 엑스레지스트리(xRegistry)란 새 프로젝트를 시작했다. 이는 레지스트리를 위한 표준 API 세트 개발을 목표로 한다. 레지스트리 간 공통 툴링과 상호윤용성을 개발하게 해준다.
팔코(Falco)
팔코는 리눅스 시스템과 쿠버네티스 위협탐지엔진을 위해 설계된 클라우드 네이티브 보안 도구다. 플러그인으로 커널 이벤트 및 기타 데이터 소스에 대한 사용자 지정 규칙을 사용해 실시간 알림을 제공하고, 사용자의 비정상적 동작, 잠재적 보안 위협, 규정 위반 등에 대한 가시성을 확보하도록 돕는다.
컨테이너, 쿠버네티스, 호스트, 클라우드 서비스 전반 등에서 위협을 감지한다. 예상치 못한 동작, 구성 변경, 공격 등에 대한 스트리밍 감지 기능을 제공한다. 오프호스트 SIEM, 분석과 저장 혹은 리액션용 데이터레이크 시스템 등 50개 이상의 시스템에 알림을 전달한다.
2016년 시스디그(Sysdig)에서 오픈소스 프로젝트로 발표했다. 2018년 CNCF 샌드박스에 수용됐으며, 2020년 4월 인큐베이팅 프로젝트로 승격됐다. 인큐베이팅 단계를 거치며 활동 기여자는 400% 증가했으며, 수백명의 코드 기여자가 활동중이다. 유지 관리자엔 아마존, 애플, IBM, 레드햇 등의 소속 개발자가 있다.
다운로드는 인큐베이팅 이동후 526% 증가했고, 월평균 다운로드는 135% 증가했다. 시스코, 쇼피파이, 스카이스캐너, 빈디드 등 30개 조직에서 채택됐다.
인큐베이팅 승격 후 수년 간 엔지니어링 프로세스를 개선하고, 코드 기반을 리팩토링했다. 개선된 테스트 모음, 새로운 커널 테스트 프레임워크, 품질 검사 증가, eBPF 프로브, 퍼스트파티 데이터 소스 통합 등이 이뤄졌다.
CERT 매니저(cert-manager)
CERT 매니저는 클라우드 네이티브 환경에서 TLS와 mTLS 인증서 발급과 갱신을 자동화하는 프로젝트다. 쿠버네티스 플랫폼에서 X.509 인증서 발급, 갱신, 수명주기 관리 등을 자동화하고 단순화해 분산 시스템 내 안전한 통신을 보장한다.
컨테이너 속의 애플리케이션은 각자 보안 인증서를 갖고 API로 다른 컨테이너와 통신한다. 컨테이너 규모가 커지면 각각의 보안 인증서 관리도 복잡해진다. 인증서가 빠른 속도로 발급, 갱신돼야 API 통신을 유지하고, 안전한 시스템을 유지할 수 있다. 쿠버네티스 관련 보안 사고 중 워크로드 구성 오류가 가장 흔한 원인이라고 한다. CERT 매니저는 보안인증서 관리 작업을 자동화해 수동적인 프로세스를 없애면서 시스템의 안전성을 높이게 돕는다.
이 프로젝트는 2017년 제트스택(Jetstack)에서 만들어졌다. 제트스택은 지금 베나피(사이버아크 자회사) 소속이다. CERT 매니저는 2020년 11월 CNCF 샌드박스 프로젝트로 수용됐고 2022년 인튜베이팅으로 이동했다.
월 5억건의 다운로드를 기록하며, 신규 프로덕션 클러스터의 86%가 인증서 관리에 CERT 매니저를 활용하는 것으로 조사됐다.
로드맵 상 CERT 매니저는 ACME 프로토콜을 사용해 인증서 갱신 방법을 개선하는 ACME 갱신 정보(ARI) 지원, 공격 표면과 바이너리 크기, 컨테이너 크기, 복잡성 등을 줄이기 위해 CERT 매니저 표면적을 최소화하는 핵심 구성요소 축소, 모범 사례 PKI 관리 등을 계획증이다.
쿠베엣지(KubeEdge)
쿠베엣지는 쿠버네티스를 기반으로 구축된 오픈소스 엣지 컴퓨팅 프로젝트다. 데이터센터 외부의 엣지 환경으로 클라우드 네이티브 생태계를 확장하도록 해준다. 쿠버네티스의 네이티브 컨테이너 오케스트레이션과 스케줄링 기능을 엣지로 확장하고 엣지 애플리케이션 관리, 클라우드-엣지 메타데이터 동기화, 엣지 IoT 장치 관리 등의 기능을 제공한다.
이 프로젝트는 2018년 11월 화웨이클라우드에서 오픈소스로 공개됐다. 2019년 CNCF 샌드박스 프로젝트에 수용됐고, 2020년 9월 인큐베이팅 프로젝트로 승격됐다.
CNCF 산하로 들어간 뒤 쿠베엣지 프로젝트는 35개국 110개 기관에서 1600여명의 기여자가 참여하게 됐다.
현재 쿠베엣지는 CDN, 지능형 교통, 스마트 에너지, 스마트 리테일, 스마트 파크, 자동차, 지능형 물류, 금융, 전력, 블록체이니 등의 산업에 활용되고 있다. 세계 최대 규모의 클라우드-엣지 협업 고속도로 요금 징수 관리 프로젝트, 세계 최초의 클라우드 네이티브 위성-지상국 협업 인공위성 프로젝트, 세계 최초의 클라우드 네이티브 전기자동차 프로젝트 등에서 쓰였다.
DAPR
분산애플리케이션런타임(이하 다프르)은 클라우드와 엣지에 걸쳐 실행되는 복원력있는 분산 애플리케이션을 쉽게 빌드하게 해주는 이동가능한(portable) 런타임이다. 프로덕션에 적합한 애플리케이션을 빌드하기 위한 통신, 상태, 워크플로우 등에 대한 통합 API를 제공한다. 보안, 복원력, 옵저버빌리티 등을 위한 업계 베스트 프랙티스를 활용함으로써 개발자 생산성을 20~40% 증가시킬 수 있다고 프로젝트 관리자측은 설명한다.
다프르는 2019년 마이크로소프트 프로젝트로 처음 출시됐다. 2021년 11월 CNCF 인큐베이팅 프로젝트로 받아들여졌다. 이후 400개 이상의 조직에서 3700명 이상의 개발 기여자가 참여했다. 현재 8개 조직에 소속된 21명의 개인이 유지관리중이다.
다프르 SDK는 지금까지 7000만건 이상 다운로드됐고, 5000만건의 이미지 풀을 보유했다.
다프르는 스토리지, 메시지 브로커, 비밀 저장소 등의 기본 인프라를 빠르게 교체할 수 있는 기능을 제공하며, 마이크로서비스 아키텍처 구축의 복잡성을 해결하는데 도움을 준다.
다프르는 오픈텔레메트리, 프로메테우스, PIFFE, gRPC, 클라우드이벤트 등 다양한 생태계와 통합된다.
다프르는 곧 공개할 최신 릴리스인 v1.15에서 아마존웹서비스(AWS) 베드록, 오픈AI, 앤트로픽, 미스트랄AI, 허깅페이스 등의 다양한 대형언어모델(LLM)과 함께 사용할 수 있는 안정적인 워크플로우 API와 알파 AI 대화형 API를 제공할 계획이다. 또한, 스왑 가능한 인프라를 갖춘 블롭(blob), 도큐먼트 등을 포함한 다양한 스토리지 API를 지원할 예정이다.
글. 바이라인네트워크
<김우용 기자>yong2@byline.network