Kubernetes 本身命令行界面去管理集群内的资源对象,例如有需求想查看某一些Pod在任意的时间段性能的使用情况,如何通过 Elastic Stack 进行一站式的数据采集,数据清洗,数据落地,数据可视化,让数据发挥真正的价值呢?
架构设计
涉及到 Elastic Stack 中 Metricbeat 是用于采集 Kubernetes 相关的性能指标, Elasticsearch 是用于对于数据落地存储和搜索的引擎, Kibana 是用于对数据可视化的工具。
首先 Kubernetes 需要部署 Kuberentes State Metric 以支持 Metricbeat 对响应的 API 进行数据采集。
实施方法
下载官方的模板在本地文件系统
wget https://raw.githubusercontent.com/elastic/beats/7.9/deploy/kubernetes/metricbeat-kubernetes.yaml
修改 ConfigMap 中指定的 Elasticsearch 主机相关的配置,并添加 Kibana的主机
output.elasticsearch:
host