🐷

minikubeでElasticseachを使ってみる

2022/06/05に公開

きっかけ

個人開発で、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