官网:https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-quickstart.html
安装 eck
官网:https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-deploy-eck.html
安装 crds 和 operator
kubectl create -f https://download.elastic.co/downloads/eck/2.4.0/crds.yaml
kubectl apply -f https://download.elastic.co/downloads/eck/2.4.0/custom resource definitions.yaml
查看 operator 运行日志
kubectl -n elastic-system logs -f statefulset.apps/elastic-operator
安装 elastic
部署命令
kubectl apply -f deployment.yaml
deployment.yaml 文件
apiVersion: elasticsearch.k8s.elastic.co/v1
kind: Elasticsearch # 需要安装es operator
metadata:
name: es
namespace: els-test
spec:
version: 7.11.2
http:
tls:
selfSignedCertificate:
disabled: true
nodeSets:
- name: es
count: 3
volumeClaimTemplates:
- metadata:
name: elasticsearch-data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 10Gi
storageClassName: nfs-client
podTemplate:
spec:
containers:
- name: elasticsearch
env:
- name: ES_JAVA_OPTS
value: "-Xms2g -Xmx2g"
resources:
requests:
memory: 3Gi
limits:
memory: 3Gi
namespace:配置命名空间
tls:关闭 tls 协议,配置文章:https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-transport-settings.html
storageClassName:配置存储卷,可以参考文章 nfs-client
storage:配置存储空间,预设 10Gi,配置文章:https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-volume-claim-templates.html
resources:配置最大最小内存,配置文章:https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-managing-compute-resources.html
ES_JAVA_OPTS:配置最大最小 java 内存,配置文章:https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-jvm-heap-dumps.html
部署结果
账号:elastic
密码:
kubectl get secret es-es-elastic-user -n els-test -o=jsonpath='{.data.elastic}' | base64 --decode
配置 ingress 或 nodeport ,参考文章:ingress 部署
结果如下即 elastic 部署成功,cluster_name 是 es
查看elastic集群索引信息:/_cat/indices?v
部署 Kibana
部署命令
kubectl apply -f kibana.yaml
kibana.yaml
apiVersion: kibana.k8s.elastic.co/v1
kind: Kibana
metadata:
name: kibana
namespace: els-test
spec:
version: 7.11.2
count: 1
elasticsearchRef:
name: es
http:
tls:
selfSignedCertificate:
disabled: true
namespace:和 elastic 一样
tls:关闭 tls 协议
elasticsearchRef:和 elastic 的 cluster_name 一样
编写 deployment.yaml 文件
部署结果
配置 ingress 或 nodeport ,参考文章:ingress 部署
配置索引正则: [manage space] -> [index patterns]
创建索引正则匹配
在 discover 可以选择配置好的正则
选择 message,只看日志消息