Kubernetes实战总结 - EFK部署(v7.6.0)
发布日期:2021-05-09 04:22:51 浏览次数:13 分类:博客文章

本文共 2669 字,大约阅读时间需要 8 分钟。

基础概念

  • Elasticsearch 是一个实时的、分布式的可扩展的搜索引擎,允许进行全文、结构化搜索,它通常用于索引和搜索大量日志数据,也可用于搜索许多不同类型的文档。
  • Beats 是数据采集的得力工具。将 Beats 和您的容器一起置于服务器上,或者将 Beats 作为函数加以部署,然后便可在 Elastisearch 中集中处理数据。如果需要更加强大的处理性能,Beats 还能将数据输送到 Logstash 进行转换和解析。
  • Kibana 核心产品搭载了一批经典功能:柱状图、线状图、饼图、旭日图,等等。不仅如此,您还可以使用 Vega 语法来设计独属于您自己的可视化图形。所有这些都利用 Elasticsearch 的完整聚合功能。

 

Elasticsearch 通常与 Kibana一起部署,Kibana 是 Elasticsearch 的一个功能强大的数据可视化 Dashboard,Kibana 允许你通过 web 界面来浏览 Elasticsearch 日志数据。

 

 

 


安装部署

这里我们利用Helm进行部署,所以我们需要先安装Helm。

wget -O helm.tgz https://get.helm.sh/helm-v3.1.1-linux-amd64.tar.gztar -zxvf helm.tgzcd linux-amd64 mv helm /usr/local/bin && chmod a+x /usr/local/binhelm version

详情参考:

 

然后我们下载Helm仓库源码

wget -O helm-charts.tgz  https://github.com/elastic/helm-charts/archive/7.6.2.tar.gztar -zxvf helm-charts.tgz cd helm-charts-7.6.2
 

创建PV供elasticsearch使用,这里采用NFS,你也可以采用其他方式。

# es-pv.yaml apiVersion: v1kind: PersistentVolumemetadata:  name: elasticsearchspec:  capacity:    storage: 30Gi  accessModes:    - ReadWriteOnce  persistentVolumeReclaimPolicy: Retain  nfs:    path: /nfsdata/elasticsearch    server: *.*.*.* kubectl create -f es-pv.yaml

 

部署elasticsearch

vim elasticsearch/values.yaml# 根据自己节点数进行更改replicas: 1minimumMasterNodes: 1    .......# 更改镜像源及版本image: "registry.cn-shanghai.aliyuncs.com/leozhanggg/elastic/elasticsearch"imageTag: "7.6.0"imagePullPolicy: "IfNotPresent"......# 自行调整资源大小resources:  requests:    cpu: "1000m"    memory: "2Gi"  limits:    cpu: "1000m"    memory: "2Gi"......# 存在对应PVvolumeClaimTemplate:  accessModes: [ "ReadWriteOnce" ]  resources:    requests:      storage: 30Gi helm install es --namespace=efk ./elasticsearch

 

部署filebeat

vim filebeat/values.yaml# 日志收集目录hostPathRoot: /var/libhostNetworking: false# 更改镜像源及版本image: "registry.cn-shanghai.aliyuncs.com/leozhanggg/elastic/filebeat"imageTag: "7.6.0"imagePullPolicy: "IfNotPresent"helm install fb --namespace=efk ./filebeat

 

部署kibana

vim kibana/values.yaml# 更改镜像源及版本image: "registry.cn-shanghai.aliyuncs.com/leozhanggg/elastic/kibana"imageTag: "7.6.0"imagePullPolicy: "IfNotPresent"......# 更改为NodePort模式service:  type: NodePort  port: 5601  nodePort: "30005"  helm install kb --namespace=efk ./kibana

等待部署完成

[root~ ]# kubectl get pod -n efkNAME                             READY   STATUS    RESTARTS   AGEelasticsearch-master-0           1/1     Running   0          28hfilebeat-filebeat-967m2          1/1     Running   0          28hfilebeat-filebeat-lr79k          1/1     Running   0          28hkibana-kibana-64f5869d86-qrkrq   1/1     Running   0          28h

 

访问masterip:port,即可查看日志

 

 


当然,这并不是最佳实现,在该架构中,根据业务特点,还可以加入某些中间件,如Redis、Kafak等。

更多详情参考>>>           

 

作者:gg

出处:

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

 
 
上一篇:【转载】HAproxy 配置参数详解
下一篇:Kubesnetes实战总结 - 部署高可用集群

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2025年04月15日 20时42分22秒