k8s版本 | 1.11.1 |
---|---|
系统 | CentOS Linux release 7.6.1810 (Core) |
master | 192.168.199.130 |
node1 | 192.168.199.131 |
node2 | 192.168.199.132 |
k8s部署上篇 | https://www.jianshu.com/p/19c5eacf2430 |
k8s部署下篇 | https://www.jianshu.com/p/ed7917ecb26e |
EFK框架:
Elasticsearch #是个开源分布式搜索引擎,具有分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等特性。
Fluentd#是一个完全开源的工具,他可以对日志进行收集、分析,并将其存储.
Kibana #是一个开源和免费的工具,可以为 Logstash 和 ElasticSearch 提供的日志分析友的 Web 界面.
下载所需要的镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/elasticsearch:v6.2.5
docker pull alpine:3.6
docker pull radial/busyboxplus:curl
docker pull registry.cn-shanghai.aliyuncs.com/k8s-log/kibana:6.2.4
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/fluentd-elasticsearch:v2.2.0
部署elasticsearch
#下载yaml文件
git clone https://github.com/mgxian/k8s-log.git
#创建namespace logging
kubectl create ns logging
#部署elasticsearch
cd k8s-log
kubectl apply -f elasticsearch.yaml
#查看pod创建情况
kubectl get pods,svc -n logging
#创建测试pod并进入tty
kubectl run curl -n logging --image=radial/busyboxplus:curl -i --tty
#pod中执行以下命令,看输出结果
nslookup elasticsearch-logging
curl 'http://elasticsearch-logging:9200/_cluster/health?pretty'
curl 'http://elasticsearch-logging:9200/_cat/nodes'
exit
部署kibana及fluentd
kubectl apply -f kibana.yaml
kubectl get pods,svc -n logging -o wide
#在浏览器里打开kibana的服务查看
kubectl label nodes --all beta.kubernetes.io/fluentd-ds-ready=true
kubectl apply -f fluentd-es-configmap.yaml
kubectl apply -f fluentd-es-ds.yaml
kubectl get pods,svc -n logging -o wide
浏览器访问ip:端口进入kibana
192.168.199.130:31110
management中创建索引
#1.添加index
fluentd-k8s-*
#2.选择timestamp,以时间戳显示,并创建