问题描述
下载安装grafana套件的命令如下:
1 2 3 4 5 6
| KUBE_PROMETHEUS_VERSION=版本号 wget --content-disposition https://github.com/prometheus-operator/kube-prometheus/archive/refs/tags/v$KUBE_PROMETHEUS_VERSION.tar.gz tar -zxvf kube-prometheus-$KUBE_PROMETHEUS_VERSION.tar.gz cd kube-prometheus-$KUBE_PROMETHEUS_VERSION/ ll pwd
|
如果直接执行kubectl apply -f manifests/
,会发现prometheus无法访问:
alertmanager修改
此时你需要修改manifests/alertmanager-networkPolicy.yaml
文件,将alertmanager
的网络策略注释掉,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
| apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: labels: app.kubernetes.io/component: alert-router app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 0.25.0 name: alertmanager-main namespace: monitoring spec: egress: - {} ingress: - from: []
ports: - port: 9093 protocol: TCP - port: 8080 protocol: TCP - from: - podSelector: matchLabels: app.kubernetes.io/name: alertmanager ports: - port: 9094 protocol: TCP - port: 9094 protocol: UDP podSelector: matchLabels: app.kubernetes.io/component: alert-router app.kubernetes.io/instance: main app.kubernetes.io/name: alertmanager app.kubernetes.io/part-of: kube-prometheus policyTypes: - Egress - Ingress
|
prometheus修改
修改manifests/prometheus-networkPolicy.yaml
文件,将prometheus
的网络策略注释掉,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49
| apiVersion: networking.k8s.io/v1 kind: NetworkPolicy metadata: labels: app.kubernetes.io/component: prometheus app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus app.kubernetes.io/version: 2.43.0 name: prometheus-k8s namespace: monitoring spec: egress: - {}
ingress: - from: [] ports: - port: 9090 protocol: TCP - port: 8080 protocol: TCP - from: - podSelector: matchLabels: app.kubernetes.io/name: prometheus-adapter ports: - port: 9090 protocol: TCP - from: - podSelector: matchLabels: app.kubernetes.io/name: grafana ports: - port: 9090 protocol: TCP podSelector: matchLabels: app.kubernetes.io/component: prometheus app.kubernetes.io/instance: k8s app.kubernetes.io/name: prometheus app.kubernetes.io/part-of: kube-prometheus policyTypes: - Egress - Ingress
|
grafana修改
修改manifests/grafana-networkPolicy.yaml
文件,将grafana
的网络策略注释掉,如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| apiVersion: networking.k8s.io/v1 kind: NetworkPolicy 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: egress: - {} ingress:
- from: [] ports: - port: 3000 protocol: TCP podSelector: matchLabels: app.kubernetes.io/component: grafana app.kubernetes.io/name: grafana app.kubernetes.io/part-of: kube-prometheus policyTypes: - Egress - Ingress
|
重新部署
重新部署kube-prometheus
套件:
1
| kubectl apply -f manifests/
|
此时你会发现prometheus
可以正常访问了。
Kubernetes(k8s)部署Prometheus、Alertmanager、Grafana,远程访问失败解决方案