Elasticsearch & Kibana 部署安装 (Kubernetes)

为什么要使用 Kuberentes 来部署 Elasticsearch 和 Kibana 呢,在实际的生产环境中,大部分都是使用 Kubernetes 来进行应用的托管,因为通过 Kuberentes 的一些高级功能,很轻易的实现服务发现,故障自愈,水平扩容等等的好处。

在这里插入图片描述

Elasticsearch

apiVersion: apps/v1
kind: Deployment
metadata:
  labels: app: elasticsearch
  name: elasticsearch-deployment
spec:
  replicas: 1
  selector: matchLabels: app: elasticsearch
  strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate
  template: metadata: labels: app: elasticsearch spec: containers: - name: elasticsearch-deployment image: 'docker.elastic.co/elasticsearch/elasticsearch:7.9.2' env: - name: discovery.type value: 'single-node' volumeMounts: - mountPath: /usr/share/elasticsearch/config/elasticsearch.yml name: volume-configmap subPath: elasticsearch.yml - mountPath: /usr/share/elasticsearch/data name: volume-pvc volumes: - name: volume-configmap configMap: name: elasticsearch-configmap defaultMode: 420 - name: volume-pvc persistentVolumeClaim: claimName: elasticsearch-pvc
---
apiVersion: v1
kind: Service
metadata:
  name: elasticsearch-service
spec:
  ports: - name: elasticsearch-service-9200 port: 9200 protocol: TCP targetPort: 9200 - name: elasticsearch-service-9300 port: 9300 protocol: TCP targetPort: 9300
  selector: app: elasticsearch
  type: ClusterIP
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: elasticsearch-ingress
spec:
  rules: - host: elasticsearch http: paths: - backend: serviceName: elasticsearch-service servicePort: 9200 path: /
---
apiVersion: v1
data:
  elasticsearch.yml: |- cluster.name: "docker-cluster" network.host: 0.0.0.0 http.cors.enabled: true http.cors.allow-origin: "*" xpack.security.enabled: true
kind: ConfigMap
metadata:
  name: elasticsearch-configmap
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  annotations: volume.beta.kubernetes.io/storage-provisioner: alicloud/disk
  finalizers: - kubernetes.io/pvc-protection
  name: elasticsearch-pvc
spec:
  accessModes: - ReadWriteOnce
  resources: requests: storage: 20Gi
  storageClassName: hongkong-disk-efficiency

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101

在这里插入图片描述

kibana

apiVersion: apps/v1
kind: Deployment
metadata:
  labels: app: kibana
  name: kibana-deployment
spec:
  replicas: 1
  selector: matchLabels: app: kibana
  strategy: rollingUpdate: maxSurge: 25% maxUnavailable: 25% type: RollingUpdate
  template: metadata: labels: app: kibana spec: containers: - name: kibana-deployment image: 'kibana:7.9.2' volumeMounts: - mountPath: /usr/share/kibana/config/kibana.yml name: volume-configmap subPath: kibana.yml volumes: - configMap: defaultMode: 420 name: kibana-configmap name: volume-configmap
---
apiVersion: v1
kind: Service
metadata:
  name: kibana-service
spec:
  ports: - name: kibana-service-5601 port: 5601 targetPort: 5601
  selector: app: kibana
  type: ClusterIP
---
apiVersion: v1
data:
  kibana.yml: |- server.name: kibana server.host: "0" monitoring.ui.container.elasticsearch.enabled: true elasticsearch.hosts: [ "http://elasticsearch-service:9200" ] xpack.security.enabled: true elasticsearch.username: elastic elasticsearch.password: mGxKyd51dStI3KEj0MhU
kind: ConfigMap
metadata:
  name: kibana-configmap
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: kibana-ingress
  annotations: kubernetes.io/ingress.class: nginx
spec:
  rules: - host: kibana http: paths: - backend: serviceName: kibana-service servicePort: 5601 path: /

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76

文章来源: yekangming.blog.csdn.net,作者:叶康铭,版权归原作者所有,如需转载,请联系作者。

原文链接:yekangming.blog.csdn.net/article/details/109075902

(完)