쿠버네티스, 정확한 이해 없이 성공적인 도입 어려워 (1)
상태바
쿠버네티스, 정확한 이해 없이 성공적인 도입 어려워 (1)
  • 윤현기 기자
  • 승인 2022.07.25 09:00
  • 댓글 0
이 기사를 공유합니다

맹목적 도입 이후 관리·운영 어려움 많아…전문 솔루션·서비스 ‘권장’

[데이터넷] 쿠버네티스가 클라우드 환경에서 개발 경험을 보다 간편하게 만들어줌에 따라 이를 도입해 사용하려는 기업들이 크게 늘고 있으며, 이에 대응하고자 여러 기업들이 쿠버네티스에 최적화된 제품과 서비스, 기술지원 선보이며 관련 시장이 한층 성장하고 있다. 쿠버네티스의 역할과 효율적인 도입 방안은 어떤 것들이 있는지 살펴봤다.

클라우드는 점점 특정 하드웨어와 플랫폼으로부터 종속성을 벗어나는 구조로 진화하고 있다. 이제 개발자들은 애플리케이션을 개발할 때 클라우드 서비스 사업자, 운영체제(OS), 하이퍼바이저 등의 환경에 무관하게 호환성을 유지하면서 운영이 가능하고, 이기종 클라우드 플랫폼상에서 애플리케이션 수정 없이 자유롭게 이식과 확장 가능한 아키텍처를 추구한다. 이것이 바로 클라우드 네이티브 아키텍처이며, 이를 구현할 수 있는 인프라는 현재 컨테이너가 유일하다.

쿠버네티스(Kubernetes)는 이러한 대규모 컨테이너를 자동으로 배포, 배치, 스케줄링, 확장, 장애 복구 등의 오케스트레이션 역할을 수행하는 도구다. ‘K8s’로 약칭되는 쿠버네티스는 컨테이너화된 애플리케이션을 호스트 클러스터에서 실행하도록 조정하며, 쿠버네티스 시스템은 사내 인프라 또는 퍼블릭 클라우드 플랫폼을 사용해 클라우드 네이티브 애플리케이션의 배포 및 관리를 자동화한다.

또 쿠버네티스 클러스터 전체에 애플리케이션 워크로드를 분산시키고 다이내믹한 컨테이너 네트워킹 요청들을 자동화하며, 스토리지 및 영구 볼륨을 실행 중인 컨테이너에 할당하고 자동 확장을 제공하며 적절한 애플리케이션 상태를 유지하도록 한다.

쿠버네티스는 여러 호스트에 걸쳐 컨테이너를 조정하고, 쿠버네티스 클러스터 관리를 자동화하고, 인프라 활용률을 높여 리소스 사용을 극대화하는 데 도움이 되는 많은 기능을 제공한다.

■ 쿠버네티스 주요 기능

- 자동 확장(auto-scaling): 컨테이너화된 애플리케이션과 리소스를 사용량에 따라 자동으로 확장 또는 축소
- 라이프사이클 관리: 이전 버전으로 롤백 또는 일시 중지 및 배포를 계속할 수 있는 기능을 통해 구축 및 업데이트 자동화
- 선언적 모델: 원하는 상태를 선언하면 쿠버네티스가 백그라운드에서 작동해 해당 상태를 유지하고 모든 장애로부터 복구
- 복원력과 자가 치유력: 자동 배치, 자동 재시작, 자동 복제 및 자동 확장을 통해 애플리케이션 자가 복구 제공
- 영구 저장소: 스토리지를 동적으로 마운트 및 추가할 수 있는 기능
- 로드 밸런싱: 각종 문제 해결을 위한 다양한 내부 및 외부 로드 밸런싱 옵션 지원
- 데브섹옵스(DevSecOps) 지원: 데브섹옵스는 클라우드 전반에 걸친 컨테이너 작업을 단순화 및 자동화하고, 컨테이너 라이프사이클 전체에 걸쳐 보안을 통합하며, 팀이 안전하고 품질 높은 소프트웨어를 보다 신속하게 제공할 수 있도록 지원하는 고급 보안 접근 방식이다. 데브섹옵스 실행과 쿠버네티스를 결합하면 개발자 생산성이 향상된다.

컨테이너 운영에 최적
기업이 쿠버네티스를 도입하며 얻을 수 있는 가장 큰 장점은 민첩성의 실현이다. 민첩성의 핵심은 자동화를 의미하고, 그 자동화의 핵심에는 유연한 스케일링이 포함된다.

쿠버네티스는 개발자가 자동화나 애플리케이션을 담고 있는 플랫폼이 확장되는 업무까지 담당하지 않도록 한다. 따라서 개발자는 개발 역량을 불필요하게 분산시키지 않기 때문에 개발 업무에 더 집중할 수 있다. 또 컨테이너 기반으로 제공하기 때문에 컴퓨팅 리소스를 최적화할 수 있고, 비용 절감과 에코시스템 환경도 구현 가능하다.

기업 입장에서는 민첩성 향상과 비용 절감이라는 핵심적인 기업 목표를 실현할 수 있는 중요한 도구가 될 수 있다. 뿐만 아니라 자동화 구현을 통해서 불필요한 인적 자원의 투입과 역량 분산을 억제하는 효과도 누릴 수 있다.

■ 쿠버네티스 도입 시 얻을 수 있는 주요 장점

인프라 확장성
- 컨테이너를 서버 확장에 관계없이 외부에 서비스할 수 있도록 네트워크 설정
- 하드웨어 증설 시 쿠버네티스 노드 추가만으로 추가적인 클러스터 확장

기능 확장성
- 다양한 스토리지를 사용할 수 있는 여러 기능 제공
- 다양한 네트워크 장비 및 기능 사용 지원

운영 자동화
- 현재 컨테이너 상태를 유지 관리하는 기능 제공(자동화된 롤아웃과 롤백)
- 노드 리소스를 쿼터를 주거나 최적화해 사용 가능
- 자동화된 복구 기능으로 실패한 컨테이너를 다시 시작하고, 컨테이너를 교체하며 컨테이너 상태를 확인해 서비스 제공

인프라 운영 관리 효율화
- 서비스 운영에 필요한 설정 및 데이터를 시크릿과 구성 관리를 통해서 동적 관리
- 언어나 시스템의 제약을 받지 않음
- 운영자 선택에 따라 지속 통합/지속 배포(CI/CD) 워크플로우 적용하거나 제공
- 마이크로서비스 아키텍처(MSA)로 크기가 작고 독립적이며, 확장 가능한 애플리케이션 구동이 용이하며, 디버그·근본 원인 분석·딜리버리 등의 시간과 비용 절감

특히 컨테이너는 가상 환경에서 베어 메탈에 이르기까지 다양한 환경에서 움직이는 것이 가능하다. 컨테이너는 모든 주요 퍼블릭 클라우드에서 지원되므로 다양한 환경에서 컨테이너형 애플리케이션을 쿠버네티스에서 실행할 수 있다.

쿠버네티스의 바탕은 레스트(REST) API다. 쿠버네티스 환경의 모든 것은 프로그래밍을 통해 제어할 수 있으며, 기업들은 쿠버네티스와 CI/CD를 통합 로드해 다양하게 적응하는 확장 가능한 CI/CD 파이프라인을 만들고 있다.

PaaS 주요 구성 요소
쿠버네티스가 클라우드 개발·운영 환경에 중요한 역할을 함에 따라 일부에서는 쿠버네티스와 서비스형 플랫폼(PaaS)을 동일시하는 경우도 볼 수 있는데 이는 분명히 잘못된 분류다.

PaaS는 특정 기술에 국한되지 않는 보다 큰 의미의 애플리케이션을 담는 그릇으로써 프레임워크를 제공하는 전반적인 플랫폼 서비스로 봐야 한다는 것이 업계 관계자들의 설명이다. 무엇으로 구현되는가에 대한 제약이 지정된 것이 아니라는 것.

그럼 PaaS를 구현하기 위해서 어떤 기술을 기반으로 할 것인가에 따라 다양한 기술들이 사용될 수 있는데, 그중 현재 각광받는 기술이 컨테이너 기반이고 컨테이너를 잘 운영하기 위한 기반 기술로 쿠버네티스가 가장 선호되고 있는 것이 현재 상황이다.

나무기술 ‘칵테일 클라우드’ 구성도
나무기술 ‘칵테일 클라우드’ 구성도

PaaS는 인프라를 기반으로 하드웨어와 소프트웨어를 호스팅하면서 최종 사용자에게 솔루션 스택(OS, 미들웨어, 런타임)을 제공한다. 이러한 PaaS는 콘텐츠를 만들고 배포하는 개발자들에게 핵심이 되는 플랫폼이다. 콘텐츠를 생성하기 위한 코드를 만들고, 배포하기 위한 환경이 되기 때문이다.

따라서 PaaS를 어떻게 민첩하게 구성하느냐는 기업 전반의 민첩성 척도가 되기도 한다. 쿠버네티스와 PaaS의 관계는 바로 여기서 찾을 수 있다. 개발자들이 콘텐츠를 생성하기 위한 코드를 만들고, 배포하는데 집중하고, 더욱 빠르게 구현할 수 있도록 하는 것이 쿠버네티스의 역할이다.

쿠버네티스는 컨테이너 기반으로 자동으로 배포하고, 스케일링 되도록 구현하기 때문에 개발자와 플랫폼 운영자들은 콘텐츠를 개발하고 관리하는 데만 역량을 집중할 수 있다.

운영·커스터마이징 부담 존재
클라우드 네이티브 컴퓨팅 재단(CNCF)이 2021년 실시했던 연례 설문조사에 따르면, 응답 기업의 96%가 쿠버네티스를 사용 중이거나 사용을 검토 중이라는 결과가 나왔다. 이 가운데 프로덕션 환경에서 쿠버네티스를 운영하는 기업은 60%에 육박했다. 이는 관련 설문조사가 시행된 이래 최대 수치다.

최우형 AWS 프린시펄 솔루션즈 아키텍트는 “이미 국내에서도 주요 디지털 기업이나 엔터프라이즈 등에서 쿠버네티스를 이미 사용 중이거나 도입을 검토하고 있다. 오히려 주목할 수치는 사용 중이거나 검토 중인 기업과 실제 프로덕션 환경에서 사용 중인 고객의 응답 차이가 40%에 가까운 차이가 있다는 것”이라며 “이러한 수치는 기업 입장에서 오픈소스를 운영하는 것에 대한 부담과 커스터마이징에 대한 우려가 여전히 존재한다는 것을 의미한다. 쿠버네티스의 장점과 가치를 기업에서 충분히 인지하고 있지만, 실제 도입에 있어서 개발자들과 운영자들의 학습 곡선(Learning Curve)들이 있으며, 이것이 쿠버네티스가 프로덕션 환경으로 가는데 걸림돌이 될 수 있다”고 우려했다.

실제로 글로벌 쿠버네티스 컨퍼런스 ‘큐브콘(KubeCon)’에서는 성공 사례만큼이나 많은 쿠버네티스 실패 사례를 공유하고 있다. 이는 커뮤니티 쿠버네티스를 기업에서 사용하는 것이 얼마나 어려운 일인지 가장 쉽게 확인할 수 있는 방법 중 하나이며, 다양한 리서치 기관이나 연구소에서 쿠버네티스를 DIY 형태로 구축하기보다 솔루션을 도입하라고 하는 이유이기도 하다.

김영태 VM웨어 탄주 총괄 전무는 “최근 국내에서도 클라우드 기술 기반의 개발 영역이 많은 발전을 거듭하고 있으며, 개발 영역에서부터 보안을 염두에 둔 데브섹옵스에 관심이 높아지고 있다. 파이프라인 구성부터 기존 솔루션 및 도구들과의 통합 연동, 각 단계별 보안 점검, 개발 생산성 향상을 위한 맞춤형 도구 등 각 영역별 하나하나 개별적으로 구성해야 했던 것들이 이제는 자동화되고 문제 발생 시 전문가로부터의 지원을 받을 수 있는 솔루션 도입 또한 증가할 것으로 예상된다”며 “플랫폼 운영만이 아닌 정작 개발자들을 제대로 지원하지 않는다면 쿠버네티스는 그저 깜빡이는 커서가 되어 애플리케이션이 실행되기를 기다리는 신세로 전락하게 될 것”이라고 말했다.

맹목적인 트렌드 추종은 금물
쿠버네티스의 사용은 앞으로 몇 년 동안 더 확대될 예정이다. VM웨어가 발표한 2022 쿠버네티스 실태 조사에 따르면 응답자의 절반 정도는 실제 사용되는 쿠버네티스의 클러스터 수가 50% 이상 증가할 것으로 예상하고 있다. 사용량이 많아질수록 규모 확장의 필요성, 보안과 컴플라이언스 보장의 필요성, 개발자로 하여금 더 빠른 배포 주기와 높은 개발 생산성 확보 등의 이점을 누릴 수 있도록 꾸준한 노력이 필요해 보이는 시점이다.

그러나 여전히 쿠버네티스는 대다수의 기업들에게 미지의 영역이나 마찬가지다. 이름은 들어봤는데 구체적으로 그것이 어떤 역할을 하는지 잘 모르는 이들도 허다하다.

이진현 맨텍 상무는 “현장에서 고객들을 만나다 보면 컨테이너를 왜 사용해야 하는지, 쿠버네티스의 역할이 무엇인지 제대로 이해하지 못하는 이들이 상당수다. 그러면서 왜 컨테이너와 쿠버네티스 프로젝트를 하는지 물어보면 99%가 ‘트렌드이기 때문’이라고 답한다. 컨테이너, 쿠버네티스에 대한 이해 없이 이처럼 트렌드만 따라할 경우 해당 프로젝트는 무조건 실패할 수밖에 없다. 기존 사용하던 시스템을 그대로 사용하는 편이 오히려 나은 경우도 많다”고 지적했다.

실제로 쿠버네티스는 기업이 사용하는 다양한 애플리케이션들의 특성들을 파악해야 하고, 애플리케이션이 복잡할수록 그 효과가 크다고 알려져 있다. 앞서 소개한 것처럼 쿠버네티스는 많은 장점을 가지고 있음에도 불구하고 적은 크기의 컨테이너 이미지를 대량으로 배포해야 하는 CI/CD 등 서비스 환경을 구성해야 하기에 실제 적용하는 서비스를 검증하기 위한 시험 환경 구축이 어려운 편이다.

뿐만 아니라 환경 구성, 관리, 유지보수 및 운영을 위한 전문 인력도 필요하며, 일반 기업들은 그러한 인력 확보가 어렵기 때문에 도입 이후 관리·운영상 어려움을 겪는 사례도 비일비재하다는 것이 업계 관계자들은 입을 모은다.

김호진 오픈소스컨설팅 상무는 “쿠버네티스는 실제 서비스의 형태가 아닌 서비스를 제공하는 하나의 플랫폼일 뿐이고, 이를 위해서는 업무 자체를 클라우드에 적합한 형태로 바꾸는 작업에 많은 시간과 공수가 소요된다. 클라우드 형태를 바꾸는 것은 여러 멀티 퍼블릭과 프라이빗 클라우드 상에서 빠른 배포와 장애 복구가 필요한 업무 형태가 효율적인 경우가 많으며, 모든 업무가 모두 컨테이너화될 필요는 없다”고 선을 그었다.

강영현 나무기술 전무는 “쿠버네티스는 MSA를 가진 엔진에 해당한다. 기업은 운영하는 애플리케이션이 복잡한 관계를 갖고 있는지, 사이즈가 작고 독립적으로 분리할 수 있으며 확장이 필요한지를 먼저 확인할 필요가 있다. 오히려 단순한 구조면서 내부적으로 다양한 상관관계를 가진 애플리케이션이라면 모놀리틱이 더 효과적일 수 있다”고 밝혔다.



댓글삭제
삭제한 댓글은 다시 복구할 수 없습니다.
그래도 삭제하시겠습니까?
댓글 0
댓글쓰기
계정을 선택하시면 로그인·계정인증을 통해
댓글을 남기실 수 있습니다.