Helm으로 Elasticsearch 배포하기

Michael Kim·2023년 3월 26일
0

Intro

helm으로 쉽게 어플리케이션을 배포할 수 있다. 하지만 역시 바로 쓰는 데에는 너무 많은 한계가 필요하고 어느 정도 커스텀이 필요하다. 이전에 사용했던 ES(Elasticsearch)를 helm을 사용하여 Mac OS 단일 노드에 맞게 커스텀 배포해보려고 한다.

ES - values.yaml

ES역시 공식 깃허브에서 차트를 확인할 수 있었다. -ES Helm Chart

먼저 values.yaml을 가져와서 살펴보면, 노드와 관계된 필드는 replicas와 minimumMasterNodes가 있었다. 로컬 PC 내에서 단일 노드로 배포해야하니 replicas, minimumMasterNodes 둘 다 1로 설정하였다.

배포하기

배포하는 것 역시 너무 간단하다. 다음 명령어로 elastic helm repo를 가져온 후, 이전에 준비한 values.yaml을 이용하여 배포면 된다. namespace는 es로 설정하였다.

helm repo add elastic https://helm.elastic.co
helm install elasticsearch elastic/elasticsearch -n es --create-namespace

일정 시간 후에, 두개의 컨테이너를 가진 ES pod가 정상적으로 배포된 것을 확인할 수 있었다.

테스트

ES의 API를 좀 더 쉽게 이용하고 테스트 데이터를 시각화 하기 위해 다음과 Kibana도 함께 배포했다. 클러스터 밖에서 접속할 수 있도록 Kibana Web 관련 포트를 포트 포워딩하고 elastic 계정으로 로그인하였다. elastic의 초기 비밀번호는 ES shell에 직접 접속해서 환경 변수를 통해 확인할 수 있었다.

Kibana 콘솔에서 테스트 데이터를 post한 후, get했을 때 데이터가 저장됐음을 확인할 수 있었다.

Outro

여기까지 helm을 이용하여 Kubernetes에 앱을 배포하는 간단한 테스트 작업을 해보았다. 여기까지 수행했을 때 kubectl create 명령어로 배포하는 것과 무슨 차이가 있을까 생각이 들었다. ChatGPT와 공식 홈페이지를 통해 확인해보니, 단순 차트를 이용한 설치 뿐만 아니라, 차트 버전 관리 및 롤백이 가능하다고 한다. 일단 helm을 조금 더 써보면서 살펴볼 필요가 있을 것 같다.

profile
정리하고 복습하고 일기도 쓰고

0개의 댓글