본문 바로가기
공부/Kubernetes

[elasticsearch/helm] bitnami chart로 elasticsearch & kibana 설치하기

by haejang 2024. 4. 24.
728x90
728x90

 

 

먼저, k8s환경에서 elasticsearch를 설치하는 경우 먼저 eck를 고려한다.

왜 eck를 고려하는가? > elasticsearch와 kibana를 쉽게 배포할 수 있기 때문

그럼 정말 eck가 쉬운가? 라고 했을 때...

- 일단 eck controller 를 설치한 후에, 설치된 crd를 통해서 elasticsearch와 kibana를 배포할 수 있다.

- 그렇다면 그 es & kibana를 반복적으로 배포하려고 할 때의 crd용 helm chart는..? 내가 직접 만들어야 하는 것 같음. (내가 못찾은거면 말고..)

- 그 방법을 통해서 배포해보려고 시도는 해봤으나, 한번에 되지 않았음;

> 만약 eck밖에 방법이 없었다면 어떻게든 트러블슈팅을 했겠지만... bitnami의 elasticsearch 차트가 눈에 띄어서 그것부터 해봄.

>> 한번에 성공함.

 

bitnami chart가 훨씬 쉬운데 왜 eck가 쉬워서 쓴다고들 하는거지? < 진짜 이것 자체가 잘 이해가 안가서, 내가 모르는 eck의 장점이 있을까 싶어 열심히 인터넷을 뒤져봤다.

근데 진짜로 못찾겠음. 대규모 es 클러스터 쓰는 외국인들도 eck로 옮겼다가 더 나은점을 찾지 못해서 공식 포럼에 글 올리고 있더라.

아무리 뒤져봐도 eck만의 장점을 찾기가 힘들어서 그냥 bitnami chart 쓰기로 결정. 아래의 values 파일로 바로 띄울 수 있다. 

ingress:
  enabled: true
  hostname: <es 도메인>
  ingressClassName: nginx
master:
  replicaCount: 3
global:
  kibanaEnabled: true
kibana:
  ingress:
    enabled: true
    hostname: <kibana 도메인>
    ingressClassName: nginx

 

이 경우 master, data, ingester가 다 뜨는데, 만약 master만 띄워서 쓰고싶은 경우 아래처럼 설정도 가능하다. (pvc 설정까지)

ingress:
  enabled: true
  hostname: <es 도메인>
  ingressClassName: nginx
master:
  replicaCount: 3
  masterOnly: false
  persistence:
    enabled: true
    size: 50Gi
data:
  replicaCount: 0
  persistence:
    enabled: false
coordinating:
  replicaCount: 0
global:
  kibanaEnabled: true
kibana:
  ingress:
    enabled: true
    hostname: <kibana 도메인>
    ingressClassName: nginx

 

마스터의 힙사이즈와 리소스를 조정하고 싶다면 이렇게..

ingress:
  enabled: true
  hostname: <es 도메인>
  ingressClassName: nginx
master:
  replicaCount: 3
  masterOnly: false
  heapSize: 4096m
  resources:
    requests:
      cpu: 4
      memory: 8Gi
    limits:
      cpu: 4
      memory: 8Gi
  persistence:
    enabled: true
    size: 50Gi
data:
  replicaCount: 0
  persistence:
    enabled: false
coordinating:
  replicaCount: 0
global:
  kibanaEnabled: true
kibana:
  ingress:
    enabled: true
    hostname: <kibana 도메인>
    ingressClassName: nginx

 

마지막으로, kibana에서 노드 모니터링을 하고 싶은데 metricbeat까지 깔고싶진 않고 이미 깔려있는 프로메테우스를 활용하고 싶다면

metrics.enabled: true 설정만 해주면 된다. (비트나미 개꿀!)

 

끝!

 

 

 

 

728x90
728x90

댓글