k8s集群部署elk

集群篇-k8s介绍 @[TOC]集群篇-k8s介绍 一、集群业务介绍 集群篇: 服务器的搭建、集群的管理、运维 1.集群业务介绍 集群:k8s及自动化部署,服务器的预警监控功能 2. 二、笔记 K8S部署&DevOps ,百度云地址 提取码 1111 1. 2. ... 阅读详情
AI摘要

本文详细介绍了如何在Kubernetes集群中部署Elasticsearch、Kibana、Logstash和Filebeat服务,包括配置文件、持久卷、服务和访问控制,确保集群正常运行并收集日志。

一、前言

     本次部署elk所有的服务都部署在k8s集群中,服务包含filebeat、logstash、elasticsearch、kibana,其中elasticsearch使用集群的方式部署,所有服务都是用7.17.10版本

二、部署

 部署elasticsearch集群

部署elasticsearch集群需要先优化宿主机(所有k8s节点都要优化,不优化会部署失败)

vi /etc/sysctl.conf

vm.max_map_count=262144

重载生效配置

sysctl -p

以下操作在k8s集群的任意master执行即可

创建yaml文件存放目录

mkdir /opt/elk && cd /opt/elk

这里使用无头服务部署es集群,需要用到pv存储es集群数据,service服务提供访问,setafuset服务部署es集群

创建svc的无头服务和对外访问的yaml配置文件

vi es-service.yaml

kind: Service
metadata:
  name: elasticsearch
  namespace: elk
  labels:
    app: elasticsearch
spec:
  selector:
    app: elasticsearch
  clusterIP: None
  ports:
    - port: 9200
      name: db
    - port: 9300
      name: inter

vi es-service-nodeport.yaml

apiVersion: v1
kind: Service
metadata:
  name: elasticsearch-nodeport
  namespace: elk
  labels:
    app: elasticsearch
spec:
  selector:
    app: elasticsearch
  type: NodePort
  ports:
    - port: 9200
      name: db
      nodePort: 30017
    - port: 9300
      name: inter
      nodePort: 30018

创建pv的yaml配置文件(这里使用nfs共享存储方式)

vi es-pv.yaml

apiVersion: v1
kind: PersistentVolume
metadata:
  name: es-pv1
spec:
  storageClassName: es-pv    #定义了存储类型
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /volume2/k8s-data/es/es-pv1
    server: 10.1.13.99
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: es-pv2
spec:
  storageClassName: es-pv    #定义了存储类型
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /volume2/k8s-data/es/es-pv2
    server: 10.1.13.99
---
apiVersion: v1
kind: PersistentVolume
metadata:
  name: es-pv3
spec:
  storageClassName: es-pv    #定义了存储类型
  capacity:
    storage: 30Gi
  accessModes:
    - ReadWriteMany
  persistentVolumeReclaimPolicy: Retain
  nfs:
    path: /volume2/k8s-data/es/es-pv3
    server: 10.1.13.99

创建setafulset的yaml配置文件

vi es-setafulset.yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  name: elasticsearch
  namespace: elk
  labels:
    app: elasticsearch
spec:
  podManagementPolicy: Parallel 
  serviceName: elasticsearch
  replicas: 3
  selector:
    matchLabels:
      app: elasticsearch
  template:
    metadata:
      labels:
        app: elasticsearch
    spec:
      tolerations:          #此配置是容忍污点可以使pod部署到master节点,可以去掉
      - key: "node-role.kubernetes.io/control-plane"
        operator: "Exists"
        effect: NoSchedule
      containers:
      - image: elasticsearch:7.17.10
        name: elasticsearch
        lifecycle:      #配置目录为es用户权限,不然启动会报错无权限编写该目录
          postStart:
            exec:
              command: ["chown","elasticsearch:elasticsearch","/usr/share/elasticsearch/data"]
        resources:
          limits:
            cpu: 1
            memory: 2Gi
          requests:
            cpu: 0.5
            memory: 500Mi
        env:
          - name: network.host
            value: "_site_"
          - name: node.name
            value: "${HOSTNAME}"
          - name: discovery.zen.minimum_master_nodes
            value: "2"
          - name: discovery.seed_hosts   #该参数用于告诉新加入集群的节点去哪里发现其他节点,它应该包含集群中已经在运行的一部分节点的主机名或IP地址,这里我使用无头服务的地址
            value: "elasticsearch-0.elasticsearch.elk.svc.cluster.local,elasticsearch-1.elasticsearch.elk.svc.cluster.local,elasticsearch-2.elasticsearch.elk.svc.cluster.local"
          - name: cluster.initial_master_nodes   #这个参数用于指定初始主节点。当一个新的集群启动时,它会从这个列表中选择一个节点作为初始主节点,然后根据集群的情况选举其他的主节点
            value: "elasticsearch-0,elasticsearch-1,elasticsearch-2"
          - name: cluster.name
            value: "es-cluster"
          - name: ES_JAVA_OPTS
            value: "-Xms512m -Xmx512m"
        ports:
        - containerPort: 9200
          name: db
          protocol: TCP
        - name: inter
          containerPort: 9300
        volumeMounts:
        - name: elasticsearch-data
          mountPath: /usr/share/elasticsearch/data
  volumeClaimTemplates:
  - metadata:
      name: elasticsearch-data
    spec:
      storageClassName: "es-pv"
      accessModes: [ "ReadWriteMany" ]
      resources:
        requests:
          storage: 30Gi

创建elk服务的命名空间

kubectl create namespace elk

创建yaml文件的服务

kubectl create -f es-pv.yaml
kubectl create -f es-service-nodeport.yaml
kubectl create -f es-service.yaml
kubectl create -f es-setafulset.yaml

查看es服务是否正常启动

kubectl get pod -n elk

检查elasticsearch集群是否正常 

http://10.1.60.119:30017/_cluster/state/master_node,nodes?pretty

可以看到集群中能正确识别到三个es节点 

elasticsearch集群部署完成

部署kibana服务 

这里使用deployment控制器部署kibana服务,使用service服务对外提供访问

创建deployment的yaml配置文件

vi kibana-deployment.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: kibana
  namespace: elk
  labels:
    app: kibana
spec:
  replicas: 1
  selector:
    matchLabels:
      app: kibana
  template:
    metadata:
      labels:
        app: kibana
    spec:
      tolerations:
      - key: "node-role.kubernetes.io/control-plane"
        operator: "Exists"
        effect: NoSchedule
      containers:
      - name: kibana
        image: kibana:7.17.10
        resources:
          limits:
            cpu: 1
            memory: 1G
          requests:
            cpu: 0.5
            memory: 500Mi
        env:
          - name: ELASTICSEARCH_HOSTS
            value: http://elasticsearch:9200
        ports:
        - containerPort: 5601
          protocol: TCP

创建service的yaml配置文件

vi kibana-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: kibana
  namespace: elk
spec:
  ports:
  - port: 5601
    protocol: TCP
    targetPort: 5601
    nodePort: 30019
  type: NodePort
  selector:
    app: kibana

创建yaml文件的服务

kubectl create -f kibana-service.yaml
kubectl create -f kibana-deployment.yaml

查看kibana是否正常

kubectl get pod -n elk

部署logstash服务 

logstash服务也是通过deployment控制器部署,需要使用到configmap存储logstash配置,还有service提供对外访问服务

编辑configmap的yaml配置文件

vi logstash-configmap.yaml 

apiVersion: v1
kind: ConfigMap
metadata:
  name: logstash-configmap
  namespace: elk
  labels:
    app: logstash
data:
  logstash.conf: |
      input {
        beats {
            port => 5044      #设置日志收集端口
         #   codec => "json"
        }
      }
      filter {
      }
      output {
       # stdout {                #该被注释的配置项用于将收集的日志输出到logstash的日志中,主要用于测试看收集的日志中包含哪些内容
       #   codec => rubydebug
       # }
        elasticsearch {
            hosts => "elasticsearch:9200"
            index => "nginx-%{+YYYY.MM.dd}"
        }
      }

编辑deployment的yaml配置文件

vi logstash-deployment.yaml

apiVersion: apps/v1 
kind: Deployment
metadata:
  name: logstash
  namespace: elk
spec:
  replicas: 1
  selector:
    matchLabels:
      app: logstash
  template:
    metadata:
      labels:
        app: logstash
    spec:
      containers:
      - name: logstash
        image: logstash:7.17.10
        imagePullPolicy: IfNotPresent
        ports:
        - containerPort: 5044
        volumeMounts:
          - name: config-volume
            mountPath: /usr/share/logstash/pipeline/
      volumes:
      - name: config-volume
        configMap:
          name: logstash-configmap
          items:
            - key: logstash.conf
              path: logstash.conf

编辑service的yaml配置文件(我这里是收集k8s内部署的服务日志,所以没开放对外访问)

vi logstash-service.yaml

apiVersion: v1
kind: Service
metadata:
  name: logstash
  namespace: elk
spec:
  ports:
  - port: 5044
    targetPort: 5044
    protocol: TCP
  selector:
    app: logstash
  type: ClusterIP

创建yaml文件的服务

kubectl create -f logstash-configmap.yaml
kubectl create -f logstash-service.yaml
kubectl create -f logstash-deployment.yaml

查看logstash服务是否正常启动

kubectl get pod -n elk

部署filebeat服务 

filebeat服务使用daemonset方式部署到k8s的所有工作节点上,用于收集容器日志,也需要使用configmap存储配置文件,还需要配置rbac赋权,因为用到了filebeat的自动收集模块,自动收集k8s集群的日志,需要对k8s集群进行访问,所以需要赋权

编辑rabc的yaml配置文件

vi filebeat-rbac.yaml 

apiVersion: v1
kind: ServiceAccount
metadata:
  name: filebeat
  namespace: elk
  labels:
    app: filebeat
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  name: filebeat
  labels:
    app: filebeat
rules:
- apiGroups: [""]
  resources: ["namespaces", "pods", "nodes"]    #赋权可以访问的服务
  verbs: ["get", "list", "watch"]            #可以使用以下命令
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  name: filebeat
subjects:
- kind: ServiceAccount
  name: filebeat
  namespace: elk
roleRef:
  kind: ClusterRole
  name: filebeat
  apiGroup: rbac.authorization.k8s.io

编辑configmap的yaml配置文件

vi filebeat-configmap.yaml

apiVersion: v1
kind: ConfigMap
metadata:
  name: filebeat-config
  namespace: elk

data:
  filebeat.yml: |
    filebeat.autodiscover:       #使用filebeat的自动发现模块
     providers:
       - type: kubernetes     #类型选择k8s类型
         templates:          #配置需要收集的模板
           - condition:
               and:
                 - or:
                     - equals:
                         kubernetes.labels:      #通过标签筛选需要收集的pod日志
                           app: foundation
                     - equals:
                         kubernetes.labels:
                           app: api-gateway
                 - equals:                    #通过命名空间筛选需要收集的pod日志
                     kubernetes.namespace: java-service
                     
             config:                 #配置日志路径,使用k8s的日志路径
                - type: container
                  symlinks: true    
                  paths:          #配置路径时,需要使用变量去构建路径,以此来达到收集对应服务的日志
                   - /var/log/containers/${data.kubernetes.pod.name}_${data.kubernetes.namespace}_${data.kubernetes.container.name}-*.log

    output.logstash:
      hosts: ['logstash:5044']

关于filebeat自动发现k8s服务的更多内容可以参考elk官网,里面还有很多的k8s参数可用

 参考:Autodiscover | Filebeat Reference [8.12] | Elastic

编辑daemonset的yaml配置文件

vi filebeat-daemonset.yaml

apiVersion: apps/v1
kind: DaemonSet
metadata:
  name: filebeat
  namespace: elk
  labels:
    app: filebeat
spec:
  selector:
    matchLabels:
      app: filebeat
  template:
    metadata:
      labels:
        app: filebeat
    spec:
      serviceAccountName: filebeat
      terminationGracePeriodSeconds: 30
      containers:
      - name: filebeat
        image: elastic/filebeat:7.17.10
        args: [
          "-c", "/etc/filebeat.yml",
          "-e",
        ]
        env:
        - name: NODE_NAME
          valueFrom:
            fieldRef:
              fieldPath: spec.nodeName
        securityContext:
          runAsUser: 0
        resources:
          limits:
            cpu: 200m
            memory: 200Mi
          requests:
            cpu: 100m
            memory: 100Mi
        volumeMounts:
        - name: config
          mountPath: /etc/filebeat.yml
          readOnly: true
          subPath: filebeat.yml
        - name: log            #这里挂载了三个日志路径,这是因为k8s的container路径下的日志文件都是通过软链接去链接其它目录的文件
          mountPath: /var/log/containers
          readOnly: true
        - name: pod-log           #这里是container下的日志软链接的路径,然而这个还不是真实路径,这也是个软链接
          mountPath: /var/log/pods
          readOnly: true
        - name: containers-log       #最后这里才是真实的日志路径,如果不都挂载进来是取不到日志文件的内容的
          mountPath: /var/lib/docker/containers
          readOnly: true
      volumes:
      - name: config
        configMap:
          defaultMode: 0600
          name: filebeat-config
      - name: log
        hostPath:
          path: /var/log/containers
      - name: pod-log
        hostPath:
          path: /var/log/pods
      - name: containers-log
        hostPath:
          path: /var/lib/docker/containers

创建yaml文件的服务

kubectl create -f filebeat-rbac.yaml 
kubectl create -f filebeat-configmap.yaml
kubectl create -f filebeat-daemonset.yaml

 查看filebeat服务是否正常启动

kubectl get pod -n elk

至此在k8s集群内部署elk服务完成

K8s部署elk(参考) ELFK是Elasticsearch、Logstash、Filebeat、Kibana的简称,是目前最流行的开源日志分析平台。首先,创建一个命名空间来管理ELFK服务:kubectl create namespace elfkkubectl get namespacesapiVersion: apps/v1 kind: Deployment metadata: name: logstash namespace: elfk spec: replicas: 1 selector: matchLabels: ap 阅读详情

相关推荐

04、在k8s集群上部署ELK

kibana服务暴露采用了ingress形式,也可以采用nodePort,这里k8s集群安装了ingress插件,所以采用了ingress方式。在外部通过kibana.com进行访问时,需要做域名解析,解析到的IP地址为ingress pod的IP。创建configMap定义logstash相关配置项,主要包括一下几项。ELK日志采集系统,适用于首次在k8s集群上部署安装该系统。在本地安装访问nginx容器,并通过kibana查看日志。:可以定义输出到es,redis,kafka等等。

云上凯歌 253

K8S搭建ELK(Elasticsearch,Kibana,Logstash和Filebeat)

K8S环境从零搭建ELK(Elasticsearch,Kibana,Logstash和Filebeat),详细、完整的操作步骤,手把手教你搭建自己的ELK日志收集系统。

Soft_Engneer的专栏 1万+

使用kubernetes部署ELK日志系统

使用kubernetes部署ELK日志系统

k8s部署 elk(Elasticsearch,Kibana,Logstash,Redis,Filebea)

k8s 配置 elk

疯飙的蜗牛 4127

【电磁场与电磁波课程设计】基于HFSS的双频微带天线仿真及设计

第五代移动通信技术(5G)的商用已经近在眼前,作为移动通信中最为重要的功能组件,面向5G通信应用的手机天线与基站天线的技术研究与设计成为近年来的热点。随着移动通信中“跳频”“扩频”等通信技术发展,为了满足与多个终端的通信要求,实现多系统共用和收发共用等功能,这就要求天线在不同频段下工作。根据国家工信部的最新规定,5G移动通信的中频段被划定在3.3 GHz-3.5 GHz及4.8 GHz-5.0 GH,面向5G移动通信的天线应具有高增益、小型化、宽频段及高隔离度等技术特征,以满足5G通信的高传输速率、波束智能

weixin_44450575的博客 1万+

kubernetes(k8s) 安装 elk

kubernetes(k8s) 安装 elk elk是elasticsearch,logstash,kibana的缩写,组成了日志收集的服务端。在看这篇文章,要先了解以下二篇文章: ubuntu elasticsearch,logstash,kibana,filebeat安装配置 kubernetes(k8s) 集群 安装配置 一,elk的选择 方案一,用k8s分别安装elasticsearch,logstash,kibana,配置要复杂一点,但是灵活度要高一点 方案二,用已集...

会哭的雨@的博客 6974

华为云Stack 8.X 流量模型分析(一)

​ 当内部需要提供对外服务时(如对外发布Web网站),外部地址发起主动连接,由路由器或者防火墙上的网关接收这个连接,然后将连接转换到内部,此过程是由带有公网IP的网关替代内部服务来接收外部的连接,然后在内部做地址转换,此转换称为DNAT,主要用于内部服务对外发布。​ 内部地址要访问公网上的服务时(如Web访问),内部地址会主动发起连接,由路由器或者防火墙上的网关对内部地址做个地址转换,将内部地址的私有IP转换为公网的公有IP,网关的这个地址转换称为SNAT,主要用于内部共享IP访问外部。

Ciyaso的博客 3244

在k8s集群部署ELK

使用kubeadm或者其他方式部署一套k8s集群。在k8s集群创建一个namespace:halashow。

jialiu111111的博客 3497

ifix5.8连接ab plc的点-通过rslinx

以ifix连接ab plc的点为例 1.先在rslinx上把plc的点导出为opc server 2.使用opc power tool 作为opc client 去连接 3.保存到项目的PDB文件夹下面,并且以节点名命名。 也可以不以节点名命名,系统自动会生成一个以节点名命名的这种文件,就显得很乱。 同时,项目的PDB目录下面必须还得拷过来一个de...

中国智造2025 4114

PCB光绘文件DFM检查:从Gerber验证到制造闭环

Gerber文件是PCB设计交付制造的核心数据载体,其准确性直接决定硬件可制造性与量产良率。理解Gerber格式规范、IPC网表比对原理及DFM(Design for Manufacturability)自动检测逻辑,是电子工程师保障设计落地的关键能力。通过电气连通性验证、物理DRC规则扫描与工艺兼容性分析,DFM工具能提前识别开路、短路、孔环不足、阻焊异常等典型问题,避免投板后返工甚至批量报废。在国产化替代趋势下,华秋DFM等平台已深度适配Altium Designer工作流,支持一键导入、智能报告与协同

weixin_42620563的博客 507

k8s部署ELK补充篇:kubernetes-event-exporter收集Kubernetes集群中的事件

kubernetes-event-exporter 是一款专为 Kubernetes 设计的轻量级事件收集与导出工具,能够实时捕捉 Kubernetes 集群中的事件(Events),并将其导出到指定的后端系统,如 Elasticsearch、Loki、Kafka、Webhook 或文件等。相比于通过 kubectl get events 命令手动查看事件,这款工具支持自动化持久化结构化地处理事件数据,特别适用于与日志系统、监控平台或告警系统集成,实现对集群状态的可观测性增强和异常快速响应。

沉淀自己 1973

ChangeMamba训练调试

此仓库的代码是在 Linux 系统下运行的。我们尚未测试是否能在其他操作系统下运行。 首先需要安装VMama仓库。以下安装顺序取自VMama仓库。克隆该版本库并导航至项目目录: 建议设置 conda 环境并通过 pip 安装依赖项。使用以下命令设置环境: 创建并激活新的 conda 环境 安装依赖项 检测和分割任务的依赖库(在 VMamba 中为可选项) 二、下载预训练权重 另外,请下载VMamba-Tiny, VMamba-Small, and VMamba-Base在ImageNet上的预训练权重并把它

hanfeng5268的博客 576

kubernetes上部署ELK集群

一、系统架构 IP 角色 主机名 192.168.1.3 master master1 192.168.1.4 master master2 192.168.1.5 master master3 192.168.1.6 node node1 192.168.1.7 node node2 二、创建StorageClass和Namespace 1、创建StorageClass [root@master1 ~]# mkdir -p /elk/{master,data,clien

你说亮不亮的博客 5896

【异常】API 速率限制报错问题全流程排查与解决指南 API rate limit reached. Please try again later.

摘要: 本文针对大模型API开发中常见的速率限制报错("API rate limit reached")提供全流程解决方案。首先解析该报错的本质是服务端对高频调用的保护机制,通过三步排查法确认根因:客户端请求频率超出账户阈值。提出三级解决方案:1)临时等待限流周期重置;2)升级付费账户提高调用配额;3)构建多模型容灾架构实现自动切换。建议生产环境优先采用容灾方案,通过备用API节点保障业务连续性,同时平衡不同模型服务的成本与性能。

奶爸的编程之路,也就一周冷个三天 1430

【LSTM回归预测】attention机制LSTM时间序列回归预测【含Matlab源码 1992期】

attention机制LSTM时间序列回归预测 完整的代码,方可运行;可提供运行操作视频!适合小白!

订阅付费专栏Matlab(奶茶价版),可赠送奶茶价版付费专栏指定代码1份; 2591

ELK+Kafka集群部署(K8s容器日志归档)方案

本文详细介绍了ELK(Elasticsearch、Logstash、Kibana)集群与Kafka的部署(K8s容器日志归档)方案

ymf51的博客 1157

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

kubernetes部署ELK-7.17.5集群及配置X-Pack认证

kibana安装在k8s232.tom.com节点,nodeport映射的端口为30002,所以访问http://10.0.0.232:30002。(PDB)是Kubernetes中的一种资源对象,用于确保在进行维护、升级或其他操作时,系统中的Pod不会被意外中断或终止。#这里修改cluster1.zk.list,kafka.eagle.url=jdbc:mysql 里面的值为自己的值。浏览器输入: http://10.0.0.234:30048/ke。账号:admin 密码:123456。

1337

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

ELK集群搭建/K8S集群日志采集

部署ELK-7.12.0一、所需的基础环境1、JDK环境2、磁盘配置3、修改操作系统限制二、部署ES 1、创建路径2、修改配置3、启动三、安装es-head三、安装kibana四、安装filebeat 一、所需的基础环境 部署包 提取码:anmc 1、JDK环境 对应版本对应支持的JDK环境也有所差异,但基本都支持JDK1.8 三台机器都需要执行 [root@node1 /]# mkdir /home/apps [root@node1 /]# cd /home/apps [root@node1 apps]#

jfcjjg的博客 4180

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

Kubernetes集群上部署ELK日志系统

一、在k8s部署elk 1.1 准备镜像 在hub.docker.com网站下载镜像sebp/elk:622,并将下载后的镜像上传到harbor仓库中。 官方提供了elkdemo用于测试elk服务,这里也将其下载并上传到本地Harbor仓库中。 1.2 部署服务 1.2.1 部署elkhost apiVersion: extensions/v1beta1 kind: Deployment metadata: name: elkhost spec: replicas: 1 template:

zhongliwen1981的专栏 1567

kubernetes日志收集方案 ELK(一)

kubernetes日志收集方案 ELK(一)

2301_81129120的博客 1111

k8s部署ELK高可用集群(一)

而Fluentd是一个流行的开源数据收集器,用于获取容器日志文件、过滤和转换日志数据,然后将数据传递到Elasticsearch集群,在该集群中对其进行索引和存储。此外,结合Logstash具有基于磁盘的自适应缓冲系统,可以吸收传入的吞吐量,从而减轻Elasticsearch持续写入数据的压力。ELK可以将我们的系统日志、网站日志、应用系统日志等各种日志进行收集、过滤、清洗,然后进行集中存放并可用于实时检索。这里使用的是NFS的存储类动态创建,要使用静态的可以看前面的mysql那节。

qq1299674780的博客 2110

k8s集群部署elk,2024年最新来来来

logstash服务也是通过deployment控制器部署,需要使用到configmap存储logstash配置,还有service提供对外访问服务。这里使用无头服务部署es集群,需要用到pv存储es集群数据,service服务提供访问,setafuset服务部署es集群。这里使用deployment控制器部署kibana服务,使用service服务对外提供访问。创建pv的yaml配置文件(这里使用nfs共享存储方式)创建svc的无头服务和对外访问的yaml配置文件。

2401_84166327的博客 1190
上一篇: k8s部署rabbitmq集群
下一篇: elk收集k8s微服务日志
Apex   Predator
博客等级 码龄6年 9371粉丝 289原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值