You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

ArgoCD删除Grafana NodePort服务,如何通过Helm清单配置?

解决方案

一、通过Helm Values配置Grafana为NodePort服务

ArgoCD遵循GitOps原则,集群内所有资源必须来自Git仓库的部署清单,手动创建的资源会被自动清理。你需要修改kube-prometheus-stack的Helm Values文件,将Grafana服务配置为NodePort类型:

1. 修改主服务为NodePort

找到仓库中部署kube-prometheus-stack对应的values.yaml文件,添加或修改以下配置:

grafana:
  service:
    # 将服务类型改为NodePort
    type: NodePort
    # 可选:指定固定NodePort(需在集群允许范围,通常是30000-32767)
    nodePort: 30001

2. (可选)添加额外NodePort服务

如果不想修改原ClusterIP服务,可通过extraService配置新增独立的NodePort服务:

grafana:
  extraService:
    - name: grafana-ext
      type: NodePort
      ports:
        - port: 3000
          targetPort: 3000
          nodePort: 30002

3. 同步配置到集群

将修改后的values.yaml推送到GitHub仓库,ArgoCD会自动检测变更并同步集群资源,此时NodePort服务会被持久化创建,不会再被删除。

二、解决端口转发无法访问的问题

你当前的端口转发命令可能存在映射错误,按以下步骤排查修复:

  1. 确认Grafana服务的端口映射关系:
kubectl describe svc kube-prometheus-stack-grafana -n argocd

查看TargetPort字段,通常Grafana容器内端口为3000,服务会将自身80端口转发到容器3000。

  1. 使用正确的端口转发命令:
kubectl port-forward svc/kube-prometheus-stack-grafana -n argocd 9092:80

之后访问http://localhost:9092即可进入Grafana UI。如果仍无法访问,检查Grafana Pod是否正常运行:

kubectl get pods -n argocd | grep grafana

三、访问Grafana的NodePort服务

配置完成后,使用k3s节点IP(192.168.10.137)加上NodePort端口访问:
例如:http://192.168.10.137:30001

内容的提问来源于stack exchange,提问作者zoe08

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 10:55:17