之前写过关于prometheus的安装,稍微复杂了些,而Prometheus Operator项目安装相对简单一些
项目地址:https://github.com/prometheus-operator/kube-prometheus
先别急着下载,往后看看
这里标出了对应的kubernetes版本,以前的k8s版本对应什么prometheus版本,可以随便选择一个早期版本,然后再滑倒这个部分就能看到
将对应的版本下载到本地
解压后目录
创建CRDs:
cd manifests/setup/
kubectl apply -f .
查看创建的CRDs
# kubectl get crd | grep coreos
alertmanagers.monitoring.coreos.com 2021-10-17T07:33:37Z
podmonitors.monitoring.coreos.com 2022-02-16T03:46:06Z
probes.monitoring.coreos.com 2022-02-16T03:46:06Z
prometheuses.monitoring.coreos.com 2021-10-17T07:33:37Z
prometheusrules.monitoring.coreos.com 2021-10-17T07:33:37Z
servicemonitors.monitoring.coreos.com 2021-10-17T07:33:37Z
thanosrulers.monitoring.coreos.com 2022-02-16T03:46:06Z
题外话,什么是CRD
这篇文章比较好理解
大白话k8s CRD_yanchendage的博客-CSDN博客
应该就是单独创建的资源控制器
安装prometheus
如果不配置ingress直接通过node ip访问prometheus相关UI的话需要将默认的cluster ip改为node IP
cd manifests/
vi prometheus-service.yaml
type: NodePort
nodePort: 39090
vi grafana-service.yaml
type: NodePort
nodePort: 33000
vi alertmanager-service.yaml
type: NodePort
nodePort: 39093
安装
cd manifests/
kubectl apply -f .
查看安装结果
# kubectl get all -nmonitoring
NAME READY STATUS RESTARTS AGE
pod/alertmanager-main-0 2/2 Running 14 30h
pod/alertmanager-main-1 2/2 Running 2 84m
pod/alertmanager-main-2 2/2 Running 14 30h
pod/grafana-7c9bc466d8-x4jxx 1/1 Running 2 89m
pod/kube-state-metrics-66b65b78bc-g8j2z 3/3 Running 12 89m
pod/node-exporter-bgwdm 2/2 Running 16 30h
pod/node-exporter-f4mdw 2/2 Running 14 30h
pod/node-exporter-fc4t8 2/2 Running 14 30h
pod/prometheus-adapter-557648f58c-ps7lv 1/1 Running 16 30h
pod/prometheus-k8s-0 3/3 Running 4 84m
pod/prometheus-k8s-1 3/3 Running 4 84m
pod/prometheus-operator-5c8c87b58b-bc6lq 2/2 Running 6 89m
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
service/alertmanager-main NodePort 10.102.215.11 <none> 9093:30202/TCP 30h
service/alertmanager-operated ClusterIP None <none> 9093/TCP,9094/TCP,9094/UDP 30h
service/grafana NodePort 10.100.155.88 <none> 3000:30201/TCP 30h
service/kube-state-metrics ClusterIP None <none> 8443/TCP,9443/TCP 30h
service/node-exporter ClusterIP None <none> 9100/TCP 30h
service/prometheus-adapter ClusterIP 10.100.195.146 <none> 443/TCP 30h
service/prometheus-k8s NodePort 10.99.87.19 <none> 9090:30200/TCP 30h
service/prometheus-operated ClusterIP None <none> 9090/TCP 30h
service/prometheus-operator ClusterIP None <none> 8443/TCP 30h
NAME DESIRED CURRENT READY UP-TO-DATE AVAILABLE NODE SELECTOR AGE
daemonset.apps/node-exporter 3 3 3 3 3 kubernetes.io/os=linux 30h
NAME READY UP-TO-DATE AVAILABLE AGE
deployment.apps/grafana 1/1 1 1 30h
deployment.apps/kube-state-metrics 1/1 1 1 30h
deployment.apps/prometheus-adapter 1/1 1 1 30h
deployment.apps/prometheus-operator 1/1 1 1 30h
NAME DESIRED CURRENT READY AGE
replicaset.apps/grafana-7c9bc466d8 1 1 1 30h
replicaset.apps/kube-state-metrics-66b65b78bc 1 1 1 30h
replicaset.apps/prometheus-adapter-557648f58c 1 1 1 30h
replicaset.apps/prometheus-operator-5c8c87b58b 1 1 1 30h
NAME READY AGE
statefulset.apps/alertmanager-main 3/3 30h
statefulset.apps/prometheus-k8s 2/2 30h
使用node ip分别访问
prometheus
http://node_ip:39090
Alertmanager
http://node_ip:39093
grafana(默认用户名密码:admin/admin)
http://node_ip:33000
告警媒介我还没研究咋改,改了再续上文章