0

我在我的 kubernetes 集群中运行 EFK 堆栈,但是每次启动 kibana 仪表板时,我都需要手动导入 export.ndjson 我听说所有 kibana 对象都存储在 elasticsearch 中,因此将此文件安装到 /usr/share/elasticsearch /data/ 但仍然无法在仪表板中看到它。

这是我的 yaml 文件:

基巴纳:

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

埃斯:

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
4

0 回答 0