🐷
minikubeでElasticseachを使ってみる
きっかけ
個人開発で、elastic searchを使っている。
k8sの勉強も兼ねてminikube上でelastic searchを使うことにした
意外とネット上に情報が少ないので記録として残しておく
deployment
apiVersion: apps/v1
kind: Deployment
metadata:
name: elasticsearch
spec:
selector:
matchLabels:
component: elasticsearch
template:
metadata:
labels:
component: elasticsearch
spec:
containers:
- name: elasticsearch
image: docker.elastic.co/elasticsearch/elasticsearch:7.13.3
env:
- name: discovery.type
value: single-node
ports:
- containerPort: 9200
name: http
protocol: TCP
resources:
limits:
cpu: 600m
memory: 2Gi
requests:
cpu: 600m
memory: 2Gi
nodeport
apiVersion: v1
kind: Service
metadata:
name: elasticsearch
labels:
service: elasticsearch
spec:
type: NodePort
selector:
component: elasticsearch
ports:
- port: 9200
targetPort: 9200
クラスター内のリソースの作成
kubectl apply -f elastic-search-deployment.yml
kubectl apply -f elastic-search-nodeport.yml
自分の環境だと、作成まで数分かかった
疎通を確認
minikube service --url elasticsearch
コマンドを叩いてsshトンネルを確立させる。
別ウィンドウで、
$ ps -ef | grep docker@127.0.0.1
略 -L TUNNEL_PORT:CLUSTER_IP:TARGET_PORT
のTUNNEL_PORTの部分を確認し、
http://127.0.0.1:TUNNEL_PORT
にアクセスする。
うまく動いてそう
時間ができたら
volumeの作成ができていないので、上記だと使い物にならない
気が向いたら、その部分の記事も作成する
Discussion