Kubernetes의 Elasticsearch: 이제 새로운 장이 열립니다
사용자가 Kubernetes에서 Elasticsearch 클러스터를 프로비저닝, 관리, 실행하도록 위한 Kubernetes Operator 패턴 기반의 새 오케스트레이션 제품인 Kubernetes의 Elastic Cloud(ECK)를 소개하게 되어 기쁩니다.
지난 몇 년간 Kubernetes는 컨테이너와 애플리케이션을 오케스트레이션하기 위한 사실상의 표준으로 대두되어 왔습니다. 이런 추세는 Elasticsearch 커뮤니티에서도 다르지 않습니다. Kubernetes의 Elastic Cloud는 우리 사용자가 어디에 있든 Elastic의 약속을 지키며, 사용자가 선택하는 플랫폼에서 Elastic 제품을 배포하고 실행할 수 있는 가능한 최고의 솔루션을 제공합니다.
Elasticsearch와 Kibana를 위한 공식 Docker 이미지를 릴리즈하는 것부터 사용 후 삭제되는 pod와 daemonset에서 로그와 메트릭을 수집하기 위해 Beats를 수정하는 것까지, Kubernetes와 함께한 작업은 아주 오래전까지 거슬러 올라갑니다. 지난 12월에 우리는 CNCF에 가입하고 Helm 차트를 시작함으로써 우리의 약속을 더욱 공고히 이어가게 되었습니다. ECK는 규모가 크긴 하지만 우리 사용자가 Kubernetes 환경에서 우리 제품과 솔루션을 보다 쉽게 배포하고 실행하도록 하겠다는 우리의 약속을 지키는 과정에서 자연스럽게 그 다음 단계가 되었습니다.
Elasticsearch Operator 그 이상
Kubernetes Operator 패턴을 사용하여 구축되는 ECK는 사용자의 Kubernetes 클러스터에 설치되며, Kubernetes에서 Elasticsearch와 Kibana 배포 작업을 단순화하는 것 이상의 의미가 있습니다. ECK는 다음과 같은 모든 2일차 작업을 간소화하는 데 중점을 둡니다.
- 여러 클러스터 관리 및 모니터링
- 새 스택 버전으로 쉽게 업그레이드
- 클러스터 용량 축소 및 확장
- 클러스터 구성 변경
- 로컬 저장 공간(로컬 저장 공간 드라이버인 Elastic Local Volume 포함)을 동적으로 확장
- 백업 일정 예약
그러나 ECK는 Kubernetes Operator 그 이상입니다. 모든 운영 및 클러스터 관리 작업을 자동화할 뿐 아니라, Kubernetes 환경에서 전체 Elasticsearch을 간소화는 데 중점을 둡니다. ECK의 비전은 Kubernetes에서 Elastic 제품과 솔루션을 위해 SaaS 같은 환경을 제공하는 것입니다.
기본 설정으로 보안 제공
ECK에서 시작되는 모든 Elasticsearch 클러스터는 기본 설정으로 보안이 제공됩니다. 이것은 생성 시에 암호화가 사용되며 강력한 기본 비밀번호로 보호된다는 뜻입니다. 이 환경은 Elastic Cloud의 Elasticsearch Service를 사용할 때 사용자에게 제공되는 보안과도 보조를 같이합니다.
기본 설정으로 원활하게 이 보안 환경을 제공하는 것은 쉬운 기능은 아니었습니다. 이를 가능하도록 하기 위해 Elastic Stack 측면에 Elastic이 어떤 최신 보안 변경을 진행했는지 읽어보세요. TL;DR: 버전 6.8과 7.1부터 TLS 암호화, 역할 기반 액세스 제어, 파일 인증 및 네이티브 인증 등 핵심 Elasticsearch 보안 기능이 이제 무료 제공됩니다.
Canvas, Maps, Uptime 포함
ECK를 통해 배포되는 모든 클러스터에는 밀도가 높은 저장 공간을 위한 고정 인덱스, Kibana Space, Canvas, Elastic Maps 등과 같은 강력한 기본(무료) 계층 기능이 포함됩니다. Elastic Logs와 Elastic Infrastructure 앱을 사용해 Kubernetes 로그와 인프라를 모니터링하기까지 할 수 있습니다. Elastic에서만 제공되는 모든 기능이 탑재된 Kubernetes의 Elastic Stack 환경입니다.
hot-warm-cold 및 맞춤형 토폴로지 배포
Hot-warm-cold는 로깅, 메트릭 및 기타 시계열 사용 사례를 위한 강력한 Elasticsearch 클러스터 토폴로지입니다. 재정적으로 큰 부담 없이 장기 저장 공간과 성능 필요 간의 균형을 유지하기 위해 흔히 사용되는 아키텍처 패턴입니다. ECK를 사용하면, 사용자는 Kubernetes에서 hot-warm-cold 클러스터를 배포한 다음 인덱스 수명 주기 관리(ILM)를 사용해 쉽게 데이터 수명 주기 정책을 구성하여 데이터가 오래됨에 따라 노드 계층 간에 데이터를 이동할 수 있습니다.
압축 알고리즘이 없는 환경
소프트웨어를 배포할 때는 1일차 작업이 쉽습니다. 2일차 작업은 그렇게 쉽지만은 않습니다. Kubernetes 같은 동적인 오케스트레이션 프레임워크에서 Elasticsearch 같이 네트워크 연결 상태를 추적할 수 있는 시스템의 운영을 간소화하려면 많은 것이 필요합니다. 동적으로 확장할 수 있는 지속적인 로컬 저장 공간을 어떻게 제공할 수 있을까요? 우리는 바로 ECK에 Kubernetes를 위한 통합 저장 공간 드라이버인 Elastic Local Volume을 구축하고 있습니다. 규모 축소 전에는 노드 드레이닝, 규모를 확장하면서는 샤드 균형 다시 맞추기 등 수많은 우수 사례가 바로 통합됩니다.
Kubernetes의 Elastic Cloud는 Elasticsearch와 Elastic Cloud Enterprise의 개발자이며 Elasticsearch Service의 운영자로서의 다년간의 운영 지식을 바탕으로 구축됩니다. 우리는 모든 운영 경험을 Elasticsearch와 Kibana 배포가 Kubernetes 내에서 오케스트레이션되고 운영되는 방식 속에 인코딩했습니다.
구성 변경에서 전혀 데이터 손실이 발생하지 않도록 하는 것부터 확장 시 가동 중단 시간이 없도록 하는 것까지, 우리는 ECK를 구축하면서 운영 면에서 아무 것도 달라지지 않도록 유지했습니다.
영구적인 무료 계층
Elasticsearch 초창기부터 우리의 목표는 언제나 수많은 강력한 기능을 무료 기본 배포에 포함시켜 새로운 사용자들에게 풍부한 시작 경험을 제공하는 것이었습니다. ECK도 다르지 않습니다.
ECK의 기본 배포는 영구적으로 무료입니다. 개방성과 투명성의 정신으로, 우리는 또한 Elastic cloud-on-k8s GitHub 저장소에서 ECK를 위한 모든 소스 코드를 공개적으로 볼 수 있도록 개방했고, Elastic License 하에서 라이선스를 냈습니다.
Enterprise(유료) 구독을 통해 필드와 문서 수준의 액세스 제어, 머신 러닝, 그래프 분석 등과 같은 고급 기능과 함께 클러스터를 배포할 수 있는 역량 등 추가 기능을 사용할 수 있습니다. 앞으로, Enterprise 구독에는 추가적인 고급 오케스트레이션 기능도 제공됩니다.
공식 GKE 지원 외 여러 가지 지원
ECK의 이러한 초기 알파 출시에서는 Google Kubernetes Engine(GKE)과 vanilla Kubernetes 버전1.11 이상을 지원합니다. 향후 버전에서 Kubernetes의 다른 옵션에 대한 지원도 계속 확장해 갈 예정입니다.
오늘 시작하세요
Kubernetes 클러스터에서 다음을 실행하셔서 오늘 사용을 시작해 보세요. 더 자세한 정보는 빠른 시작 페이지를 참조하시기 바랍니다.