使用Prometheus对系统进行监控,使用Grafana进行数据展示。我的环境是K8S,我的部署方式是通过 yaml文件进行部署。已经部署文件上传到了Github 地址:https://github.com/zeyangli/devops-on-k8s.
1
部署node-exporter对集群进行监控
部署node-expoter对k8s集群监控
使用DaemonSet方式
使用最新镜像:node-exporter:v0.18.1
部署描述文件如下:
在这里我创建了一个DaemonSet类型的部署,会在每个node节点上运行。运行的Namespace是在kube-system中。创建service 使用nodePort方式映射端口。
---
apiVersion: apps/v1
kind: DaemonSet
metadata:
name: node-exporter
namespace: kube-system
labels:
k8s-app: node-exporter
spec:
selector:
matchLabels:
name: node-exporter
template:
metadata:
labels:
name: node-exporter
spec:
containers:
- name: node-exporter
image: prom/node-exporter:v0.18.1
ports:
- containerPort: 9100
protocol: TCP
name: http
---
apiVersion: v1
kind: Service
metadata:
labels:
k8s-app: node-exporter
name: node-exporter
namespace: kube-system
spec:
ports:
- name: http
port: 9100
nodePort: 31672
protocol: TCP
type: NodePort
selector:
k8s-app: node-exporter
2
部署Prometheus服务
部署prometheus服务
deploy.yaml
这里我创建了一个应用部署文件deployment对象,挂载configmap配置文件和volume存储持久化数据。
---
apiVersion: apps/v1