参考资料
GitHub - coreos/prometheus-operator: Prometheus Operator creates/configures/manages Prometheus clusters atop Kubernetes
git clone kube-prometheus;需要注意的是,代码已经从原来的地址迁移到这个地址
git clone https://github.com/coreos/prometheus-operator.git
minikube安装部署,请参考另外一篇文章
安装
# create namespace and CRDs
kubectl apply -f manifests/setup
# wait for CRD creation to complete
until kubectl get servicemonitors --all-namespaces ; do date; sleep 1; echo ""; done
# create monitoring components
kubectl apply -f manifests/
查看
➜ kube-prometheus git:(master) ✗ k get pods -n monitoring
NAME READY STATUS RESTARTS AGE
alertmanager-main-0 2/2 Running 4 104m
alertmanager-main-1 2/2 Running 4 104m
alertmanager-main-2 2/2 Running 4 104m
grafana-58dc7468d7-tzsnh 1/1 Running 2 105m
kube-state-metrics-769f4fd4d5-85f7p 3/3 Running 7 105m
node-exporter-22l2n 2/2 Running 4 105m
prometheus-adapter-5cd5798d96-ttfm2 1/1 Running 3 105m
prometheus-k8s-0 3/3 Running 7 61m
prometheus-k8s-1 3/3 Running 0 51m
prometheus-operator-99dccdc56-klb8r 1/1 Running 4 105m
➜ kube-prometheus git:(master) ✗
查看创建的服务,需要注意的是,我们需要修改prometheus-k8s和grafana这两个service的类型为NodePort;如下操作:
➜ kube-prometheus git:(master) ✗ k edit svc grafana -n monitoring
➜ kube-prometheus git:(master) ✗ k edit svc prometheus-k8s -n monitoring
查看修改完成的service;
➜ kube-prometheus git:(master) ✗ k get svc -n monitoring
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
alertmanager-main ClusterIP 10.96.120.87 <none> 9093/TCP 105m
alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 105m
grafana NodePort 10.96.163.124 <none> 3000:31263/TCP 105m
kube-state-metrics ClusterIP None <none> 8443/TCP,9443/TCP 105m
node-exporter ClusterIP None <none> 9100/TCP 105m
prometheus-adapter ClusterIP 10.96.121.50 <none> 443/TCP 105m
prometheus-k8s NodePort 10.96.129.132 <none> 9090:30525/TCP 105m
prometheus-operated ClusterIP None <none> 9090/TCP 105m
prometheus-operator ClusterIP None <none> 8080/TCP 106m
➜ kube-prometheus git:(master) ✗
至此,peometheus部署完成,但是无法访问页面.我们需要使用.minikube命令来获取可以访问的url地址.如下:
➜ kube-prometheus git:(master) ✗ minikube service list
|-------------|-----------------------|---------------------------|-----|
| NAMESPACE | NAME | TARGET PORT | URL |
|-------------|-----------------------|---------------------------|-----|
| default | kubernetes | No node port |
| kube-system | kube-dns | No node port |
| kube-system | kubelet | No node port |
| monitoring | alertmanager-main | No node port |
| monitoring | alertmanager-operated | No node port |
| monitoring | grafana | http://192.168.64.2:31263 |
| monitoring | kube-state-metrics | No node port |
| monitoring | node-exporter | No node port |
| monitoring | prometheus-adapter | No node port |
| monitoring | prometheus-k8s | http://192.168.64.2:30525 |
| monitoring | prometheus-operated | No node port |
| monitoring | prometheus-operator | No node port |
|-------------|-----------------------|---------------------------|-----|
➜ kube-prometheus git:(master) ✗
See also