如何在Kubernetes环境中使用Docker镜像部署 EFK (Elastic Search Filebeat/Fluentd Kibana) 日志监控系统?本文将示例如何编写 Kibana 的部署文件,部署中间会遇到什么坑,如何解决?(详见末尾!详见末尾!!详见末尾!!!)
上部署架构图:干货,纯个人手绘
上部署文件:个人在18年编写的
apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: kibana
labels:
component: kibana
spec:
replicas: 1
selector:
matchLabels:
component: kibana
template:
metadata:
labels:
component: kibana
spec:
containers:
- name: kibana
# 使用-oss镜像,此镜像不包含x-pack插件
image: docker.elastic.co/kibana/kibana-oss:6.3.0
# 配置ES集群名称
env:
- name: CLUSTER_NAME
value: myesdb
resources:
limits:
cpu: 1000m
requests:
cpu: 100m
ports:
- containerPort: 5601
name: http
apiVersion: v1
kind: Service
metadata:
name: kibana
labels:
component: kibana
spec:
selector:
component: kibana
# 使用NodePort类型,暴露一个端口供集群外部环境访问
type: NodePort
ports:
- name: http
port: 5601
nodePort: 30056
上运行命令:
# 创建pod和service
kubectl create -f kibana-dep.yaml
kubectl create -f kibana-svc.yaml
# 创建成功后,浏览器访问下面地址可进入kibana主页,注意这里的IP可以是K8S环境中任一node的IP地址
http://xxx.xx.xx.201:30056
遇到的问题:
K8S中nodePort默认只能设置为30000~32767之间的值,否则会报错导致无法访问,该范围可通过apiserver的参数修改。
以上纯原创,未完待续!后续将更新《Kibana界面介绍及操作指南》,Filebeat/Fluentd、Grafana、ElastAlert、Packetbeat等工具部署,欢迎加关注、收藏、点赞、转发(代码闲聊站)~
Copyright © 2024 妖气游戏网 www.17u1u.com All Rights Reserved