prometheus学习系列(三)

在minikube中安装Prometheus Operator

prometheus学习系列(三)

在minikube中安装Prometheus Operator

参考资料

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