项目地址
https://github.com/prometheus-operator/kube-prometheus/tree/release-0.12
找到k8s 集群的对应版本 请注意镜像版本和机器架构
部署阶段
git clone -b release-0.12 https://github.com/prometheus-operator/kube-prometheus.git
cd kube-prometheus
kubectl apply --server-side -f manifests/setup
kubectl wait \
--for condition=Established \
--all CustomResourceDefinition \
--namespace=monitoring
修改服务暴露方式(默认只能内部访问,这里我们使用节点暴露)
## 拿grafana举例 其他资源 也类似 不冲突即可
# cat manifests/grafana-service.yaml
apiVersion: v1
kind: Service
metadata:
labels:
app.kubernetes.io/component: grafana
app.kubernetes.io/name: grafana
app.kubernetes.io/part-of: kube-prometheus
app.kubernetes.io/version: 9.4.7
name: grafana
namespace: monitoring
spec:
type: NodePort ##添加此行
ports:
- name: http
port: 3000
targetPort: http
nodePort: 30090 ##添加此行
selector:
app.kubernetes.io/component: grafana
app.kubernetes.io/name: grafana
app.kubernetes.io/part-of: kube-prometheus
启动资源 整套方案最低需要1c4g内存左右,请空出对应资源,生产环境请酌情增加
kubectl apply -f manifests/
查看资源部署状态
确认正常后 访问对应资源
配置grafana ui展示
推荐模板
集群模板:13105
https://grafana.com/grafana/dashboards/13105-1-k8s-for-prometheus-dashboard-20211010/
效果展示
POD模板:15760
https://grafana.com/grafana/dashboards/15760-kubernetes-views-pods/
效果展示
自定义配置
以上所有步骤就部署完成了,目前所有config均为项目初始状态,其中监控项和相关数据持久化需要自己爬坑!
!