쿠버네티스를 이용해 애플리케이션을 효과적으로 개발하고 운영할 수 있는 방법을 초보자들도 쉽게 이해할 수 있도록 설명한다. 쿠버네티스 아키텍처 및 각 객체에 대한 개념을 명확히 정립할 수 있도록 예제와 그림을 곁들였다. 후반부에는 쿠버네티스의 내부 구조 및 동작 원리에 대해서도 쉽게 설명하고 있어 쿠버네티스의 안과 밖을 모두 살필 수 있다. 쿠버네티스를 더 깊이 알고자 하는 독자에게 최고의 참고서이자 바이블이 될 것이다.
마르코 룩샤 (지은이)의 말
레드햇(Red Hat)에서 몇 년 근무하다가 2014년 말, 신설된 클라우드 인에이블먼트(Cloud Enablement) 팀에 배정됐다. 새 팀의 임무는 쿠버네티스상에서 개발된 회사의 미들웨어 제품을 오픈시프트 컨테이너 플랫폼(OpneShift Container Platform)으로 가져오는 것이었다. 그 당시 쿠버네티스는 정식으로 발표되지 않은 초기 버전(v1.0)이었다.
소프트웨어의 적절한 방향을 설정하고 쿠버네티스가 제공하는 기능을 이용하려면 쿠버네티스의 모든 기능을 신속하게 파악해야 했다. 문제가 발생했을 때, 우리가 일을 잘못한 건지 아니면 쿠버네티스 초기 버전의 버그인지를 구분해내기가 어려웠다.
그 후로 쿠버네티스도 눈부시게 발전했고 나도 쿠버네티스를 많이 이해하게 됐다. 나는 쿠버네티스라는 말조차 생경할 때 쿠버네티스를 사용하기 시작했다. 지금은 클라우드와 온프레미스 데이터 센터(on-premises datacenters)에서 애플리케이션을 실행하는 데 가장 빠르게 성장하고 가장 많이 사용되는 방법으로, 소프트웨어 엔지니어라면 모르는 사람이 없을 정도다.
쿠버네티스를 접한 지 한 달쯤 뒤에 오픈시프트/쿠버네티스(OpenShift/Kubernetes)에서 JBoss 와일드플라이(JBoss WildFly) 애플리케이션 서버 클러스터를 실행하는 방법을 두 개의 글로 작성해 블로그에 게시했다. 그 당시 간단한 블로그 포스트를 보고 매닝 출판사의 담당자가 쿠버네티스에 대한 책을 써달라고 연락할 것이라고는 상상도 못했다. 내가 아니더라도 책을 쓸만한 누군가에게 연락했을 그 제안을 거절하지 않았다.
그렇게 나는 이 책을 쓰게 됐다. 1년 반 넘게 글쓰기와 연구에 매진한 끝에 마침표를 찍었다. 이 여정은 굉장히 값진 경험이었다. 그저 사용자로서 배울 때보다 책을 쓰면서 기술에 관해 훨씬 더 자세히 알 수 있었다. 이 과정에서 쿠버네티스에 대한 지식이 확장됐고, 쿠버네티스 자체도 진화했으므로 이전에 썼던 내용을 고치고 다듬어야 했다. 나는 완벽주의자다. 이 책에 만족하지는 않는다. 그럼에도 MEAP 프로그램(Manning Early Access Program)의 수많은 독자가 이 책을 쿠버네티스를 향한 훌륭한 안내서로 평가해주셔서 기쁘다.
내 목표는 독자가 기술 자체를 이해하고 도구를 사용해 쿠버네티스 클러스터에 애플리케이션을 효율적으로 개발하고 배포할 수 있도록 가르치는 데 있다. 이 책은 실제로 적정한 수준의 가용성을 갖는 쿠버네티스 클러스터를 실제로 설정하거나 유지하는 것에 중점을 두지 않았다. 대신에 마지막 파트를 통해 독자가 그러한 클러스터의 구성이 어떻게 되는지 확실히 이해할 수 있게 작성했다. 그리고 이런 주제를 이해하기 쉬운 추가적인 리소스를 포함하고 있다.
쿠버네티스라는 굉장한 시스템을 통해 최대한의 결과를 얻는 방법을 알아가며 이 책을 즐겁게 읽어 나가길 바란다.
역자후기
네 명의 역자는 현재 IT전문회사 및 컨설팅회사에서 근무하며, 같은 회차 정보관리/컴퓨터시스템응용 기술사로 구성된 '108번역'이라는 소모임을 운영하고 있다. 최근 컨테이너 환경은 도커 엔진을 중심으로 쿠버네티스가 de-facto 표준이 되는 형국으로 변하고 있다. 마이크로서비스 환경으로 마이그레이션되는 최근 환경에서 수많은 도커를 유연하고 안정적으로 운영하기 위해서 고민하는 것은 당연하며 이에 오픈소스 프로젝트인 쿠버네티스가 그 답을 줄 것이다. 이 책은 애플리케이션 개발에 중점을 둔 개발자와 운영자 모두가 애플리케이션을 관리할 수 있는 관점에서 쓰여졌다. 무엇보다 쿠버네티스의 컴포넌트 각각에 대해 자세히 풀어 설명했으며 그림도 상세히 설명해 독자의 이해를 돕는다. 쿠버네티스에 대한 기본적인 이해부터 각각의 컴포넌트를 사용해 적용하는 법, 마지막으로 쿠버네티스 클러스터 내부까지 자세히 살펴보고 엔터프라이즈급 애플리케이션의 플랫폼까지 구축할 수 있도록 알려주고 있다. 이 책은 컨테이너 기반 오케스트레이션 플랫폼에 관심 있는 초급자뿐 아니라 실제 다양한 환경에 애플리케이션 배포를 원하는 중급 수준의 독자들에게 적합한 책이다. 이 책은 쿠버네티스 설치 및 운영에 필요한 다양한 정보를 제공하며 유연한 환경의 인프라를 구축할 수 있도록 가이드 해 줄 것이다.