0

I'm runnig EFK stack in my kubernetes cluster however each time i start kibana dashboard i will need to manually import export.ndjson i've heard that all kibana objects are stored in elasticsearch so a mounted this file to /usr/share/elasticsearch/data/ but still can't see it in the dashboard.

Here are my yaml files:

kibana :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
  namespace: tools
spec:
  selector:
    matchLabels:
      app: kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:       
      containers:
      - name: kibana
        image: docker.elastic.co/kibana/kibana:7.6.0
        ports:
        - containerPort: 5601
---

apiVersion: v1
kind: Service
metadata:
  name: kibana
  namespace: tools
spec:
  selector:
    app: kibana
  ports:
  - name: client
    port: 5601
    protocol: TCP
  type: ClusterIP

es:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: elasticsearch
  namespace: tools
spec:
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      initContainers:
      - name: fix-permissions
        image: busybox
        command: ["sh", "-c", "chown -R 1000:1000 /usr/share/elasticsearch/data"]
        securityContext:
          privileged: true
        volumeMounts:
        - name: elasticsearch-volume
          mountPath: /usr/share/elasticsearch/data
      containers:
      - name: elasticsearch
        image: docker.elastic.co/elasticsearch/elasticsearch:7.6.0
        ports:
        - containerPort: 9200
          name: http
          protocol: TCP
        - containerPort: 9300
          name: transport
          protocol: TCP
        env:
        - name: discovery.type
          valueFrom:
           configMapKeyRef:
            name: tools-config
            key: discovery.type
        volumeMounts:
        - name: elasticsearch-volume
          mountPath: /usr/share/elasticsearch/data
        - name: kibana-dashboard
          mountPath: /usr/share/elasticsearch/data/export.ndjson
          subPath: export.ndjson
      volumes:
      - name: elasticsearch-volume
        persistentVolumeClaim:
          claimName: elasticsearch-storage-pvc
      - name: kibana-dashboard
        configMap:
         name: kibana-dashboard



---

apiVersion: v1
kind: Service
metadata:
  name: elasticsearch
  namespace: tools
spec:
  selector:
    app: elasticsearch
  ports:
    - name: http
      protocol: TCP
      port: 9200
    - name: transport
      protocol: TCP
      port: 9300
  type: ClusterIP
touati ahmed
  • 311
  • 8
  • 21

0 Answers0