먼저, 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
설정만 해주면 된다. (비트나미 개꿀!)
끝!
'공부 > Kubernetes' 카테고리의 다른 글
[external-dns] 특정 ingress만 무시하기 (exclude) (0) | 2024.04.30 |
---|---|
[ingress-nginx] 413 Request Entity Too Large (0) | 2024.04.24 |
[k8s/helm] 자체 helm chart 만들고 Artifact HUB 에 올려보기 (0) | 2024.04.21 |
[k8s/github] github workflow 실행시키는 k8s cronjob (0) | 2024.04.19 |
[external-dns/ingress-nginx] NodePort 타입 external LB를 external dns CNAME으로 등록되게 하기 (0) | 2024.04.18 |
댓글