kube-prometheus NodePort config

本文介绍如何在Kubernetes环境中,通过修改配置文件并使用NodePort类型,将Prometheus监控系统的多个服务端口(如Grafana、Prometheus、Alertmanager)暴露出来,以便从外部网络访问这些服务。
部署运行你感兴趣的模型镜像

环境版本 https://github.com/coreos/kube-prometheus/archive/v0.1.0.tar.gz

1. 默认设定安装完成后, 几个主服务的端口,未对外暴露, 只能在localhost访问。 可能是从安全上考虑,才有此策略。  在测试系统中,可酌情使用NodePort设定

# kubectl -n monitoring get svc
NAME                    TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)             AGE
alertmanager-main       ClusterIP   192.168.74.123    <none>        9093/TCP            8h
alertmanager-operated   ClusterIP   None              <none>        9093/TCP,6783/TCP   8h
grafana                 ClusterIP   192.168.228.214   <none>        3000/TCP            8h
kube-state-metrics      ClusterIP   None              <none>        8443/TCP,9443/TCP   8h
node-exporter           ClusterIP   None              <none>        9100/TCP            8h
prometheus-adapter      ClusterIP   192.168.216.149   <none>        443/TCP             8h
prometheus-k8s          ClusterIP   192.168.109.239   <none>        9090/TCP            8h
prometheus-operated     ClusterIP   None              <none>        9090/TCP            8h
prometheus-operator     ClusterIP   None              <none>        8080/TCP            8h

2. 修改设定
配置文件路径 kube-prometheus-0.1.0/manifests/

sed -i "12a \ \ \ \ nodePort: 30300" grafana-service.yaml
sed -i "13a \ \ type:\ NodePort"     grafana-service.yaml
sed -i "12a \ \ \ \ nodePort: 30090" prometheus-service.yaml
sed -i "13a \ \ type:\ NodePort"     prometheus-service.yaml
sed -i "12a \ \ \ \ nodePort: 30093" alertmanager-service.yaml
sed -i "13a \ \ type:\ NodePort"     alertmanager-service.yaml


3. 重新套用后,服务端口输出如下:

# kubectl -n monitoring get svc
NAME                    TYPE        CLUSTER-IP        EXTERNAL-IP   PORT(S)             AGE
alertmanager-main       NodePort    192.168.10.137    <none>        9093:30093/TCP      12s        <---
alertmanager-operated   ClusterIP   None              <none>        9093/TCP,6783/TCP   12s
grafana                 NodePort    192.168.34.147    <none>        3000:30300/TCP      12s        <---
kube-state-metrics      ClusterIP   None              <none>        8443/TCP,9443/TCP   12s
node-exporter           ClusterIP   None              <none>        9100/TCP            12s
prometheus-adapter      ClusterIP   192.168.158.90    <none>        443/TCP             12s
prometheus-k8s          NodePort    192.168.116.201   <none>        9090:30090/TCP      11s        <---
prometheus-operated     ClusterIP   None              <none>        9090/TCP            11s
prometheus-operator     ClusterIP   None              <none>        8080/TCP            8h

4. 步骤2、3也可以使用下述命令,在默认部署后修改(保存后马上生效)
kubectl edit -n monitoring service alertmanager-main

5. 这样就可以愉快的从外部访问了:
grafana          http://10.247.15.75:30300
prometheus   http://10.247.15.75:30090
alertmanager http://10.247.15.75:30093

转载于:https://my.oschina.net/u/3362827/blog/3064590

您可能感兴趣的与本文相关的镜像

Stable-Diffusion-3.5

Stable-Diffusion-3.5

图片生成
Stable-Diffusion

Stable Diffusion 3.5 (SD 3.5) 是由 Stability AI 推出的新一代文本到图像生成模型,相比 3.0 版本,它提升了图像质量、运行速度和硬件效率

e=admin t=2025-05-27T16:03:49.522532125Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=30004 duration=30.0044843s size=548 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:03:49.54540158Z level=error msg="Exemplar query failed" query="sum(kube_node_status_allocatable{origin_prometheus=~\"\",resource=\"memory\", unit=\"byte\", node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:09.517139742Z level=error msg="Exemplar query failed" query="sum(kube_pod_container_resource_requests{origin_prometheus=~\"\",resource=\"memory\", unit=\"byte\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:09.524447242Z level=error msg="Exemplar query failed" query="sum(kube_pod_container_resource_requests{origin_prometheus=~\"\",resource=\"cpu\", unit=\"core\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:09.530136946Z level=error msg="Exemplar query failed" query="sum(kube_node_status_allocatable{origin_prometheus=~\"\",resource=\"cpu\", unit=\"core\", node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:09.551153764Z level=error msg="Exemplar query failed" query="sum (container_memory_working_set_bytes{origin_prometheus=~\"\",container!=\"\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": dial tcp 10.109.175.244:9090: i/o timeout" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:09.551261227Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=40010 duration=40.010425856s size=406 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.007179521Z level=error msg="Exemplar query failed" query="sum (irate(container_cpu_usage_seconds_total{origin_prometheus=~\"\",id=\"/\",node=~\"^$\"}[2m]))" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.007522403Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=22481 duration=22.481742859s size=381 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.007750053Z level=error msg="Exemplar query failed" query="count(kube_node_info{origin_prometheus=~\"\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.00727399Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=42482 duration=42.482681596s size=1032 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.008305258Z level=error msg="Exemplar query failed" query="sum(kube_pod_container_resource_limits{origin_prometheus=~\"\",resource=\"cpu\", unit=\"core\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.008338346Z level=error msg="Exemplar query failed" query="count(kube_pod_info{origin_prometheus=~\"\",created_by_kind!~\"<none>|Job\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.008580027Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=62492 duration=1m2.492137094s size=701 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.008745526Z level=error msg="Exemplar query failed" query="sum(kube_node_status_allocatable{origin_prometheus=~\"\",resource=\"pods\", unit=\"integer\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.008810034Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=2454 duration=2.454267935s size=527 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=tsdb.prometheus endpoint=queryData pluginId=prometheus dsName=Prometheus dsUID=prometheus uname=admin t=2025-05-27T16:04:12.009153219Z level=error msg="Exemplar query failed" query="sum(kube_pod_container_resource_limits{origin_prometheus=~\"\",resource=\"memory\", unit=\"byte\",node=~\"^$\"})" err="Post \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/query_exemplars\": context canceled" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:04:12.009254653Z level=info msg="Request Completed" method=POST path=/api/ds/query status=400 remote_addr=10.244.1.0 time_ms=62501 duration=1m2.501457741s size=701 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/ds/query status_source=downstream logger=infra.usagestats t=2025-05-27T16:04:33.193272755Z level=info msg="Usage stats are ready to report" logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:05:52.404511678Z level=error msg="no admin configuration available" error="no admin configuration available" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:05:52.40475163Z level=info msg="Request Completed" method=GET path=/api/v1/ngalert/admin_config status=404 remote_addr=10.244.1.0 time_ms=1 duration=1.763324ms size=59 referer=http://172.25.254.50/alerting/admin handler=/api/v1/ngalert/admin_config status_source=server logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:26.491031204Z level=error msg="no admin configuration available" error="no admin configuration available" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:26.491245851Z level=info msg="Request Completed" method=GET path=/api/v1/ngalert/admin_config status=404 remote_addr=10.244.1.0 time_ms=2 duration=2.983592ms size=59 referer=http://172.25.254.50/alerting/admin handler=/api/v1/ngalert/admin_config status_source=server logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:37.75798914Z level=info msg="Request Completed" method=GET path=/api/datasources/proxy/uid/alertmanager/api/v1/status/buildinfo status=404 remote_addr=10.244.1.0 time_ms=8 duration=8.517576ms size=19 referer=http://172.25.254.50/connections/datasources/edit/alertmanager handler=/api/datasources/proxy/uid/:uid/* status_source=server logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:37.780046916Z level=info msg="Request Completed" method=GET path=/api/datasources/proxy/uid/alertmanager/alertmanager/api/v2/status status=404 remote_addr=10.244.1.0 time_ms=2 duration=2.492519ms size=19 referer=http://172.25.254.50/connections/datasources/edit/alertmanager handler=/api/datasources/proxy/uid/:uid/* status_source=server logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:55.576074595Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/origin_prometheus/values?match%5B%5D=kube_node_info&start=1748360386&end=1748362186\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:09:55.576133342Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/origin_prometheus/values status=500 remote_addr=10.244.1.0 time_ms=10002 duration=10.002799959s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:05.606246715Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/node/values?match%5B%5D=kube_node_info%7Borigin_prometheus%3D~%22%22%7D&start=1748360396&end=1748362196\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:05.60631776Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/node/values status=500 remote_addr=10.244.1.0 time_ms=10003 duration=10.00376243s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:05.606327777Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/namespace/values?match%5B%5D=kube_namespace_created%7Borigin_prometheus%3D~%22%22%7D&start=1748360396&end=1748362196\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:05.606375344Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/namespace/values status=500 remote_addr=10.244.1.0 time_ms=10003 duration=10.003738536s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:15.628274721Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/container/values?match%5B%5D=kube_pod_container_info%7Borigin_prometheus%3D~%22%22%2Cnamespace%3D~%22%22%7D&start=1748360406&end=1748362206\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:15.628347455Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/container/values status=500 remote_addr=10.244.1.0 time_ms=10002 duration=10.002678393s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:25.643322497Z level=error msg=InternalError error="[plugin.downstreamError] client: failed to call resources: error querying resource: Get \"http://kube-prometheus-stack-prometheus.kube-prometheus-stack:9090/api/v1/label/pod/values?match%5B%5D=kube_pod_container_info%7Borigin_prometheus%3D~%22%22%2Cnamespace%3D~%22%22%2Ccontainer%3D~%22%22%7D&start=1748360416&end=1748362216\": dial tcp 10.109.175.244:9090: i/o timeout" remote_addr=10.244.1.0 traceID= logger=context userId=1 orgId=1 uname=admin t=2025-05-27T16:10:25.643392778Z level=error msg="Request Completed" method=GET path=/api/datasources/uid/prometheus/resources/api/v1/label/pod/values status=500 remote_addr=10.244.1.0 time_ms=10002 duration=10.002621373s size=116 referer="http://172.25.254.50/d/een5u5jx4qzuoa/k8s-dashboard-en-20250125?orgId=1" handler=/api/datasources/uid/:uid/resources/* status_source=downstream
最新发布
05-29
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值