Kubernetes实战总结 - EFK部署(v7.6.0)

基础概念

  • 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.gz
tar -zxvf helm.tgz
cd linux-amd64mv helm /usr/local/bin && chmod a+x /usr/local/bin
helm version

详情参考:Kubernetes实战总结 - Helm部署(v3.1.1)

然后我们下载Helm仓库源码

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

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

# es-pv.yamlapiVersion: v1
kind: PersistentVolume
metadata:
  name: elasticsearch
spec:
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteOnce
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /nfsdata/elasticsearch
    server: *.*.*.*

kubectl create -f es-pv.yaml

部署elasticsearch

vim elasticsearch/values.yaml

# 根据自己节点数进行更改
replicas: 1
minimumMasterNodes: 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"
......

# 存在对应PV
volumeClaimTemplate:
  accessModes: [ "ReadWriteOnce" ]
  resources:
    requests:
      storage: 30Gi

helm install es --namespace=efk ./elasticsearch

部署filebeat

vim filebeat/values.yaml

# 日志收集目录
hostPathRoot: /var/lib
hostNetworking: 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 efk
NAME                             READY   STATUS    RESTARTS   AGE
elasticsearch-master-0           1/1     Running   0          28h
filebeat-filebeat-967m2          1/1     Running   0          28h
filebeat-filebeat-lr79k          1/1     Running   0          28h
kibana-kibana-64f5869d86-qrkrq   1/1     Running   0          28h

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


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

更多详情参考>>>   如何监控K8S集群日志        EFK(Elasticsearch+Filebeat+Kibana)收集容器日志

作者:Leozhanggg

出处:https://www.cnblogs.com/leozhanggg/p/12700363.html

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

原文地址:https://www.cnblogs.com/leozhanggg/p/12700363.html

时间: 2024-10-13 14:18:54

Kubernetes实战总结 - EFK部署(v7.6.0)的相关文章

Kubernetes实战总结 - dashboard部署(v2.0.0-rc6)

Kubernetes dashboard 是Kubernetes集群的基于Web的通用UI. 它允许用户管理群集中运行的应用程序并对其进行故障排除,以及管理群集本身. 部署 如果你的网络很好且可以访问国外网,那你可以直接运行下面命令部署. kubectl apply -f https://raw.githubusercontent.com/kubernetes/dashboard/v2.0.0-rc6/aio/deploy/recommended.yaml 你也可以直接复制我下面准备好的,保存为

Kubernetes V1.16.2部署Dashboard V2.0(beta5)

kubeadm是官方社区推出的一个用于快速部署kubernetes集群的工具. 1.安装要求 在开始之前,部署Kubernetes集群机器需要满足以下几个条件: 一台或多台机器,操作系统 CentOS7.6-86_x64 硬件配置:4GB或更多RAM,4个CPU或更多CPU,硬盘30GB或更多 集群中所有机器之间网络互通 禁止swap分区 2. 准备环境 关闭防火墙: systemctl stop firewalld systemctl disable firewalld 关闭selinux:

Kubernetes实战总结 - Prometheus部署

什么是普罗米修斯? Prometheus是最初在SoundCloud上构建的开源系统监视和警报工具包 . 自2012年成立以来,许多公司和组织都采用了Prometheus,该项目拥有非常活跃的开发人员和用户社区. 组件说明 MetricServer:是kubernetes集群资源使用情况的聚合器,收集数据给kubernetes集群内使用,如kubectl,hpa,scheduler等. PrometheusOperator:是一个系统监测和警报工具箱,用来存储监控数据. NodeExporter

kubernetes 的EFK 部署日志管理工具

kubernetes 的EFK 部署 标签(空格分隔): kubernetes系列 一: kubernetes 的EFK 部署 一: kubernetes 的EFK 部署 1.1 关于pod的日志信息 cd /var/log/containers/ ls ls -lrt * 1.2 kubernetes 的EFK 部署 添加 Google incubator 仓库 helm repo add incubator http://storage.googleapis.com/kubernetes-c

Kubernetes 生产环境安装部署 基于 Kubernetes v1.14.0 之 部署规划

1. 安装规划 1.1 部署节点说明 etcd集群规划 etcd 中心集群 192.168.2.247192.168.2.248192.168.2.249 etcd 事件集群 192.168.2.250192.168.2.251192.168.2.252 Kubernetes master节点集群规划 192.168.3.10192.168.3.11192.168.3.12192.168.3.13192.168.3.14 Kubernetes master vip 192.168.4.1192.

Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列之部署master/node节点组件(四)

0.前言 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 1.部署master组件 master 服务器的组件有:kube-apiserver.kube-controller-manager.kube-scheduler 因此需要下载k8s master,下载地址:https://github.com/kubernetes/kubernetes/blob/master/CHANGE

kubernetes实战(二十六):kubeadm 安装 高可用 k8s v1.16.x dashboard 2.x

1.基本配置 基本配置.内核升级.基本服务安装参考https://www.cnblogs.com/dukuan/p/10278637.html,或者参考<再也不踩坑的Kubernetes实战指南>第一章第一节 2.Kubernetes组件安装 所有节点安装Kubeadm.Kubectl.kubelet yum install -y kubeadm-1.16.0-0.x86_64 kubectl-1.16.0-0.x86_64 kubelet-1.16.0-0.x86_64 所有节点启动Dock

kubernetes实战(二十七):CentOS 8 二进制 高可用 安装 k8s 1.16.x

1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.16.x,相对于其他版本,二进制安装方式并无太大区别.CentOS 8相对于CentOS 7操作更加方便,比如一些服务的关闭,无需修改配置文件即可永久生效,CentOS 8默认安装的内核版本是4.18,所以在安装k8s的过程中也无需在进行内核升级,系统环境也可按需升级,如果下载的是最新版的CentOS 8,系统升级也可省略. 2. 基本环境配置 主机信息 192.168.1.19 k8s-master01 192.168

kubernetes实战(三十):CentOS 8 二进制 高可用 安装 k8s 1.17.x

1. 基本说明 本文章将演示CentOS 8二进制方式安装高可用k8s 1.17.x,相对于其他版本,二进制安装方式并无太大区别. 2. 基本环境配置 主机信息 192.168.1.19 k8s-master01 192.168.1.18 k8s-master02 192.168.1.20 k8s-master03 192.168.1.88 k8s-master-lb 192.168.1.21 k8s-node01 192.168.1.22 k8s-node02 系统环境 [[email pro