K8S部署EFK日志收集技术栈

拉取需要的压缩包到master节点并解压: unzip EFK.zip

将node节点需要的压缩包导入:

scp es.tar fluentd.tar kibana.tar k8s-node1:/home/efk

scp es.tar fluentd.tar kibana.tar k8s-node2:/home/efk

进入node节点解压文件(所有node节点都需要):

for i in `ls ./`;do docker load -i $i;done

在master节点

解压文件:unzip efk.zip

编写文件:vim /home/efk/class.yml

编译文件: vim /home/efk/deployment.yml

vim /home/efk/elasticsearch-statefulset.yml​​​​​​​(确认存储类)

根据指定 YAML 文件创建 K8s 资源:

kubectl create -f serviceaccount.yaml

kubectl create -f rbac.yaml

先执行上面两个,在执行后面两个

kubectl create -f deployment.yaml

kubectl create -f class.yaml

构建es集群

kubectl apply -f kube-logging.yaml

kubectl create -f elasticsearch-statefulset.yaml

kubectl create -f elasticsearch_svc.yaml

创建了新的命名空间,新pod也起来了

做测试

在所有节点下载:yum install -y socat

再master节点运行:curl http://10.244.36.67:9200/_cluster/health?pretty

查看一个pod的运行IP做测试用 :kubectl -n kube-logging get po -o wide

另开一个master节点:curl http://10.244.36.67:9200/_cluster/health?pretty

编译文件:vim kibana.yml

** THIS IS AN AUTO-GENERATED FILE **

Default Kibana configuration for docker target

server.name: kibana

server.host: "0"

elasticsearch.hosts: "http://elasticsearch:9200"

xpack.monitoring.ui.container.elasticsearch.enabled: true

i18n.locale: "zh-CN"

编译文件:vim kibana.yaml

apiVersion: v1

kind: Service

metadata:

name: kibana

namespace: kube-logging

labels:

app: kibana

spec:

type: NodePort

ports:

  • port: 5601

selector:

app: kibana


apiVersion: apps/v1

kind: Deployment

metadata:

name: kibana

namespace: kube-logging

labels:

app: kibana

spec:

replicas: 1

selector:

matchLabels:

app: kibana

template:

metadata:

labels:

app: kibana

spec:

containers:

  • name: kibana

image: docker.elastic.co/kibana/kibana:7.2.0

imagePullPolicy: IfNotPresent

resources:

limits:

cpu: 1000m

requests:

cpu: 100m

env:

  • name: ELASTICSEARCH_URL

value: http://elasticsearch.kube-logging.svc.cluster.local:9200

ports:

  • containerPort: 5601

volumeMounts:

  • name: kibana-config

mountPath: /usr/share/kibana/config/

volumes:

  • name: kibana-config

configMap:

name: kibana-configmap

汉化kibana:

kubectl -n kube-logging create configmap kibana-configmap --from-file=kibana.yml=./kibana.yml

更新配置:kubectl apply -f kibana.yaml

kubectl -n kube-logging get cm​​​​​​​ , kubectl -n kube-logging get po

在网页中搜索:192.168.11.160:32467

安装fluentd组件

kubectl apply -f fluentd.yaml

kubectl get po -n kube-logging -o wide

日志存放位置进入pod

kubectl -n kube-logging exec -it fluentd-22c76 -- bash

cd fluentd/etc/

cat kubernetes.conf

查看核心配置:cat fluent.conf

在网页上创建索引模式

相关推荐
IT界的老黄牛7 小时前
Jenkins 监控一条龙:接入、看板 9964、11 条告警规则直接抄走
jenkins·grafana·prometheus·监控·ci-cd·告警规则
xhaxy9 小时前
docker
docker·容器·eureka
上火的金鱼妹11 小时前
K8S基础组件作用和关系整理
linux·运维·服务器·kubernetes
MC丶科18 小时前
软考架构师90天冲刺|DAY44·Redis高级应用
数据库·数据仓库·redis·缓存·oracle·容器·规格说明书
天外天-亮19 小时前
docker + window 安装
运维·docker·容器
进击的小菜鸡dd19 小时前
docker 容器的挂载映射关系查看
运维·docker·容器
SLD_Allen19 小时前
从 HPA 到 KEDA:Kubernetes 弹性伸缩的进阶实践
云原生·容器·kubernetes
陈皮糖..20 小时前
基于 Keepalived 的传统 Web 高可用架构的容器化改造与可观测性升级
运维·docker·性能优化·架构·云计算·prometheus
java_logo20 小时前
Docker 部署 go2rtc:轻松搭建摄像头多协议流媒体平台
运维·docker·容器·摄像头·rtsp·轩辕镜像·go2rtc
哈__1 天前
KES-Operator正式发布:基于Kubernetes的数据库集群云原生全生命周期管理方案
数据库·云原生·kubernetes