elasticsearch k8s - jupark33/Spring GitHub Wiki
- ElasticSearch를 K8S에 설치할 때 Helm을 사용하면 편리하지만 설치되는 노드수가 많아서 메모리와 cpu가 많이 필요하다.
- Docker를 이용하여 ElasticSearch를 설치하면 컨테이너 하나로 설치가 되므로, 해당 컨테이너를 POD로 생성할 수 있을 것 같다.
- ElasticSearch 설치
- Kibana 설치
https://expertbeacon.com/deploying-elasticsearch-on-kubernetes-with-helm-the-complete-guide/
https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-elasticsearch.html
apiVersion: apps/v1
kind: Deployment
metadata:
name: esTest
spec:
replicas: 1
selector:
matchLabels:
app: esTest
template:
metadata:
labels:
app: esTest
spec:
containers:
- name: esTest
image: elasticsearch:7.1.1
ports:
- containerPort: 9200
protocol: TCP
- containerPort: 9300
protocol: TCP
env:
- name: discovery.type
value: "single-node"
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
labels:
app: elasticsearch
spec:
replicas: 1
selector:
matchLabels:
app: elasticsearch
template:
metadata:
labels:
app: elasticsearch
spec:
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:7.1.1
ports:
- containerPort: 9200
- containerPort: 9300
env:
- name: discovery.type
value: single-node
---
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
spec:
selector:
app: elasticsearch
ports:
- protocol: TCP
port: 9200
targetPort: 9200
- protocol: TCP
port: 9300
targetPort: 9300
apiVersion: apps/v1
kind: Deployment
metadata:
name: kibana
labels:
app: kibana
spec:
replicas: 1
selector:
matchLabels:
app: kibana
template:
metadata:
labels:
app: kibana
spec:
containers:
- name: kibana
image: docker.elastic.co/kibana/kibana:7.1.1
ports:
- containerPort: 5601
env:
- name: ELASTICSEARCH_HOSTS
value: http://elasticsearch:9200
---
apiVersion: v1
kind: Service
metadata:
name: kibana
spec:
selector:
app: kibana
ports:
- protocol: TCP
port: 5601
targetPort: 5601
kubectl apply -f es-7.1.1.yaml --namespace=elastic
kubectl apply -f kibana.yaml --namespace=elastic