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二叔11 小时前
Kubernetes(K8s)-01-简介
云原生·容器·kubernetes
暖和_白开水12 小时前
数据分析agent(十三_3):docker mysql容器镜像服务的异常错误
mysql·docker·容器
爱小黄14 小时前
使用docker搭建集群-使用 Docker 搭建 KingbaseES 集群
运维·docker·容器
张gangtie14 小时前
K8s 节点切换容器运行时(Docker -> containerd)排错经历
kubernetes
余—笙15 小时前
Docker安装rabbitmq并安装延迟队列插件
docker·容器·rabbitmq
沉迷学习 日益消瘦16 小时前
10-Gateway API
运维·kubernetes·gateway
心念枕惊16 小时前
Docker--Docker Swarm集群
运维·docker·容器
敖行客 Allthinker17 小时前
docker容器安装Python反推镜像步骤(适用于临时调试用)
python·docker·容器
tonydf18 小时前
传统老手艺之容器编排
后端·容器·aiops
张忠琳19 小时前
【NVIDIA】NVIDIA k8s-device-plugin v0.19.3 配置API模块深度分析之二
云原生·容器·架构·kubernetes·nvidia