官方地址:https://github.com/elastic/helm-charts
我用的是helm3安裝
1.安裝elasticsearch
kubectl create ns logs helm repo add elastic https://helm.elastic.co helm pull elastic/elasticsearch tar zxf elasticsearch-7.6.0.tgz cd elasticsearch
編輯values.yaml文件 vim values.yaml:
--- volumeClaimTemplate: accessModes: [ "ReadWriteOnce" ] storageClassName: alicloud-nas resources: requests: storage: 30Gi nfs: server: 35d034b182-lhi55.cn-shanghai.nas.aliyuncs.com
---
持久化存儲,
用的是阿里雲的nas存儲,用自建的nfs也可以。
1) 在nas根目錄下創建下面目錄:
mkdir elasticsearch-logging/{0,1,2}
2)在chart下面的templates目錄下加一個一個pv-pvc.yaml文件
cat pv-pvc.yaml
apiVersion: v1 kind: PersistentVolume metadata: name: elastic-nas-pv-0 labels: release: elastic-nas-pv spec: capacity: storage: 60Gi accessModes: - ReadWriteOnce volumeMode: Filesystem persistentVolumeReclaimPolicy: Retain storageClassName: "{{ .Values.volumeClaimTemplate.storageClassName }}" nfs: path: /elasticsearch-logging/0 server: "{{ .Values.nfs.server }}" --- apiVersion: v1 kind: PersistentVolume metadata: name: elastic-nas-pv-1 labels: release: elastic-nas-pv spec: capacity: storage: 60Gi accessModes: - ReadWriteOnce volumeMode: Filesystem persistentVolumeReclaimPolicy: Retain storageClassName: "{{ .Values.volumeClaimTemplate.storageClassName }}" nfs: path: /elasticsearch-logging/1 server: "{{ .Values.nfs.server }}" --- apiVersion: v1 kind: PersistentVolume metadata: name: elastic-nas-pv-2 labels: release: elastic-nas-pv spec: capacity: storage: 60Gi accessModes: - ReadWriteOnce volumeMode: Filesystem persistentVolumeReclaimPolicy: Retain storageClassName: "{{ .Values.volumeClaimTemplate.storageClassName }}" nfs: path: /elasticsearch-logging/2 server: "{{ .Values.nfs.server }}"
之后,helm安裝
helm install elasticsearch -n logs ./elasticsearch
查看狀態

2. 安裝kibana
helm pull elastic/kibana tar zxf kibana-7.6.0.tgz cd kibana
編輯values.yaml文件
ingress: enabled: true #改成true。也可以不用ingress,用nodeport方式訪問 annotations: {} # kubernetes.io/ingress.class: nginx # kubernetes.io/tls-acme: "true" path: / hosts: - kibana.xxoo.com #改成自己的域名 tls: [] #有證書也改成自己的創建的證書名,我這邊沒有創建 # - secretName: chart-example-tls # hosts: # - chart-example.local
安裝kibana
helm install kibana -n logs ./kibana
查看運行的pod

3. 安裝filebeat
helm pull elastic/filebeat tar zxf filebeat-7.6.0.tgz cd filebeat
編輯values.yaml文件
#默認讀取的是節點/var/lib下的所有文件 # Root directory where Filebeat will write data to in order to persist registry data across pod restarts (file position and other metadata). hostPathRoot: /var/lib
安裝
helm install filebeat -n logs ./filebeat
查看:

4.使用
打開kibana的域名,登陸kibana。創建索引。


篩選pod,查看日志

