当前位置: 首页 > news >正文

k8s--efk日志收集

目录

环境准备

        下载efk软件包

        下载 nfs

设置nfs开机自启

        创建共享存储目录

配置共享目录文件

加载nfs

使共享目录生效

查看

node节点验证

        共享目录配置成功

进入efk配置文件目录

修改deployment.yaml文件

修改为master主节点ip

修改为nfs共享存储目录

修改 kibana

添加  type:Nodeport 

部署EFK

创建nfs存储访问

构建es集群

部署kibana

修改好后如下

汉化kibana         

        创建 kibana.yml 文件

命令行创建configmap

提交 kibana资源清单

查看

master节点执行

访问网页

查看暴露端口号

网页访问

安装fluentd组件

查看污点并复制污点

修改配置文件

修改key的污点

网页访问

创建索引模式

查看


环境准备

        下载efk软件包
[root@k8s-master ~]# mkdir efk
[root@k8s-master ~]# cd efk/
[root@k8s-master efk]# ls
[root@k8s-master efk]# rz
rz waiting to receive.**[root@k8s-master efk]# ls
efk.zip
[root@k8s-master efk]# unzip efk.zip 
Archive:  efk.zipcreating: efk/inflating: efk/class.yaml          inflating: efk/deployment.yaml     inflating: efk/elasticsearch-statefulset.yaml  inflating: efk/elasticsearch_svc.yaml  inflating: efk/fluentd.yaml        inflating: efk/kibana.yaml         extracting: efk/kube-logging.yaml   inflating: efk/pod.yaml            inflating: efk/rbac.yaml           inflating: efk/serviceaccount.yaml 
下载  yum -y install socat下载  yum -y install nfs-utils
        下载 nfs

设置nfs开机自启

[root@k8s-master data]# systemctl enable --now nfs
        创建共享存储目录
[root@k8s-master ~]# cd /data/
[root@k8s-master data]# ls
discuz  mysql  redis  tomcat
[root@k8s-master data]# mkdir efk
[root@k8s-master data]# ls
discuz  efk  mysql  redis  tomcat

配置共享目录文件
[root@k8s-master data]# vim /etc/exports
/data/efk 192.168.158.0/24(rw,sync,no_root_squash)

加载nfs
使共享目录生效

查看
[root@k8s-master data]# showmount -e
Export list for k8s-master:
/data/efk          192.168.158.0/24

node节点验证
        共享目录配置成功
[root@k8s-node1 ~]# showmount -e 192.168.158.33
Export list for 192.168.158.33:[root@k8s-node2 ~]#  showmount -e 192.168.158.33
Export list for 192.168.158.33:

进入efk配置文件目录

修改deployment.yaml文件
[root@k8s-master efk]# vim deployment.yaml 
修改为master主节点ip
修改为nfs共享存储目录

修改 kibana
添加  type:Nodeport 
[root@k8s-master efk]# vim kibana.yaml 

因为只有两个node 节点,这里pod副本数改为2就可以

 

部署EFK

创建nfs存储访问

kubectl create -f serviceaccount.yamlkubectl create -f rbac.yamlkubectl create -f deployment.yamlkubectl create -f class.yaml

构建es集群

kubectl apply -f kube-logging.yamlkubectl create -f elasticsearch-statefulset.yamlkubectl create -f elasticsearch_svc.yaml

部署kibana

 往解压出来的 kibana.yaml文件里添加

        volumeMounts:- name: kibana-configmountPath: /usr/share/kibana/config/volumes:- name: kibana-configconfigMap:name: kibana-configmap

修改好后如下
[root@k8s-master efk]# vim kibana.yaml 
[root@k8s-master efk]# cat kibana.yaml 
apiVersion: v1
kind: Service
metadata:name: kibananamespace: kube-logginglabels:app: kibana
spec:type: NodePortports:- port: 5601selector:app: kibana
---
apiVersion: apps/v1
kind: Deployment
metadata:name: kibananamespace: kube-logginglabels:app: kibana
spec:replicas: 1selector:matchLabels:app: kibanatemplate:metadata:labels:app: kibanaspec:containers:- name: kibanaimage: docker.elastic.co/kibana/kibana:7.2.0imagePullPolicy: IfNotPresentresources:limits:cpu: 1000mrequests:cpu: 100menv:- name: ELASTICSEARCH_URLvalue: http://elasticsearch.kube-logging.svc.cluster.local:9200ports:- containerPort: 5601volumeMounts:- name: kibana-configmountPath: /usr/share/kibana/config/volumes:- name: kibana-configconfigMap:name: kibana-configmap

汉化kibana         

        创建 kibana.yml 文件
vim  kibana.ymlserver.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://elasticsearch:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
i18n.locale: "zh-CN"

命令行创建configmap

kubectl -n kube-logging create configmap kibana-configmap --from-file=kibana.yml=./kibana.yml
提交 kibana资源清单
kubectl apply -f kibana.yaml
查看
[root@k8s-master efk]# kubectl get pods -n kube-logging
NAME                      READY   STATUS    RESTARTS      AGE
es-cluster-0              1/1     Running   0             45m
es-cluster-1              1/1     Running   0             80m
kibana-7645484fc7-58bfd   1/1     Running   2 (44m ago)   51m[root@k8s-master efk]# kubectl get svc -n kube-logging
NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE
elasticsearch   ClusterIP   None            <none>        9200/TCP,9300/TCP   82m
kibana          NodePort    10.100.200.93   <none>        5601:32107/TCP      77m

master节点执行

当es的po和kibana安装好之后在master节点执行

kubectl port-forward --address 192.168.158.33 es-cluster-0 9200:9200 --namespace=kube-logging

访问网页

192.168.158.33:9200

查看暴露端口号
[root@k8s-master ~]# kubectl -n kube-logging get svc -o wide
NAME            TYPE        CLUSTER-IP      EXTERNAL-IP   PORT(S)             AGE    SELECTOR
elasticsearch   ClusterIP   None            <none>        9200/TCP,9300/TCP   102m   app=elasticsearch
kibana          NodePort    10.100.200.93   <none>        5601:32107/TCP      97m    app=kibana

网页访问

192.168.158.33:32107

安装fluentd组件

查看污点并复制污点

修改配置文件

vim  fluentd.yaml

修改key的污点

在tolerations 字段中加上:operator:Exists

kubectl  apply -f  fluentd.yaml
网页访问

192.168.158.33:32107

创建索引模式

查看

http://www.dtcms.com/a/358161.html

相关文章:

  • PostgreSQL令牌机制解析
  • C++多态介绍
  • sunset: sunrise
  • 安全多方计算(MPC):技术原理、典型应用与 Python 工程实现详解
  • POLAR 社区交流平台 PRD v1.0
  • DDR5 介绍
  • 关于PXIe工控机的网速问题XH-PXIe7313万兆网卡
  • 【LeetCode每日一题】21. 合并两个有序链表 2. 两数相加
  • Linux三剑客grep-sed-awk
  • # `std::basic_istream`总结
  • 从零到一:使用Flask构建“我的笔记”网站
  • Elasticsearch面试精讲 Day 2:索引、文档与映射机制
  • 如何在 Jenkins Docker 容器中切换到 root 用户并解决权限问题
  • WPF和WinFrom区别
  • WPF中的ref和out
  • 基于Ubuntu本地GitLab 搭建 Git 服务器
  • 小迪安全v2023学习笔记(七十四讲)—— 验证机制篇验证码绕过思路SRC挖掘演示
  • web渗透ASP.NET(Webform)反序列化漏洞
  • SpringBoot整合Actuator实现健康检查
  • windows系统中安装zip版本mysql,配置环境
  • Spring Cloud Gateway 网关(五)
  • 电子战:Maritime SIGINT Architecture Technical Standards Handbook
  • 系统分析师考试大纲新旧版本深度分析与备考策略
  • 拼团小程序源码分享拼团余额提现小程序定制教程开发源码二开
  • 深入理解 RabbitMQ:从底层原理到实战落地的全维度指南
  • (纯新手教学)计算机视觉(opencv)实战十——轮廓特征(轮廓面积、 轮廓周长、外接圆与外接矩形)
  • 在Kotlin中安全的管理资源
  • 突破视界的边界:16公里远距离无人机图传模块全面解析
  • 神经网络激活函数:从ReLU到前沿SwiGLU
  • 华为对“业务对象”是怎样定义与应用的?