반응형
ELK란 Elasticsearch, Logstash, Kibana를 의미하며 해당 자원들을 helm을 통해 생성하는 방법에 대해 작성한다.
1. helm_elk.tf
Elasticsearch
resource "helm_release" "elastic" {
name = "elastic"
#repository = "https://charts.jenkins.io" # Jenkins Helm 차트 레포지토리 URL
chart = "../bitnami-elk/elasticsearch/elasticsearch-20.0.3.tgz"
#version = "3.0.13" # Jenkins Helm 차트 버전
namespace = "default"
# verify = false
values = [
"${file("../bitnami-elk/elasticsearch/values.yaml")}"
]
}
Kibana
resource "helm_release" "kibana" {
name = "kibana2"
#repository = "https://charts.jenkins.io" # Jenkins Helm 차트 레포지토리 URL
chart = "../bitnami-elk/kibana/kibana-11.0.3.tgz"
#version = "3.0.13" # Jenkins Helm 차트 버전
namespace = "default"
set {
name = "elasticsearch.hosts[0]"
value = "elastic-elasticsearch.default.svc.cluster.local"
}
set {
name = "elasticsearch.port"
value = "9200"
}
# verify = false
values = [
"${file("../bitnami-elk/kibana/values.yaml")}"
]
}
Logstash
resource "helm_release" "logstash" {
name = "logstash"
#repository = "https://charts.jenkins.io" # Jenkins Helm 차트 레포지토리 URL
chart = "../bitnami-elk/logstash/logstash-6.0.2.tgz"
#version = "3.0.13" # Jenkins Helm 차트 버전
namespace = "default"
set {
name = "plugins[0].name"
value = "google_pubsub"
}
# verify = false
values = [
"${file("../bitnami-elk/logstash/values.yaml")}"
]
}
bitnami-elk.zip
0.61MB
해당 설정대로 helm을 통해 설치하게 되면 아래와 같이 pod가 생성된다.

생성된 서비스 중 kibana 외부 ip로 접근하게 되면 콘솔로 접근이 가능하다.


자세한 구성 yaml 설명 및 연동 과정은 추후 해당 문서에 기술하거나 별도 페이지로 설명하도록 하겠다.
반응형
'클라우드 > GCP 자원 테라폼으로 관리해보기' 카테고리의 다른 글
(8-4) Terraform에서 helm 관리 - Sonarqube (0) | 2024.06.09 |
---|---|
(8-3) Terraform에서 helm 관리 - Grafana, Prometheus (0) | 2024.06.09 |
(8-1) Terraform에서 helm 관리 - Jenkins (0) | 2024.06.09 |
(7) GKE Cluster, nodepool 생성 모듈화 (0) | 2024.06.09 |
(6) 공유 VPC 서비스 프로젝트에 서브넷 생성 및 연결하기 (0) | 2024.06.09 |