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

如何创建SVC以无需端口转发通过UI查看ArgoCD应用指标?

ArgoCD v2.10 指标Service配置方案

一、全局argocd-metrics暴露方案

默认argocd-metrics是ClusterIP类型Service,仅集群内可访问。要无需端口转发通过UI查看,需创建对外暴露的Service:

1. 编写Service配置文件

创建argocd-metrics-public.yaml,内容如下:

apiVersion: v1
kind: Service
metadata:
  name: argocd-metrics-public
  namespace: argocd
spec:
  type: NodePort # 云环境可替换为 LoadBalancer
  selector:
    app.kubernetes.io/name: argocd-metrics # 匹配argocd-metrics组件的Pod标签
  ports:
    - name: metrics
      port: 8082
      targetPort: 8082
      nodePort: 30082 # 可选,指定固定节点端口,不填则自动分配

2. 应用配置

执行命令:

kubectl apply -f argocd-metrics-public.yaml

3. 访问指标

  • 若用NodePort:访问http://<集群节点IP>:30082/metrics
  • 若用LoadBalancer:使用Service分配的外部IP,访问http://<外部IP>:8082/metrics

二、单个ArgoCD应用的指标暴露方案

当你开启Application.spec.metrics.enabled=true后,ArgoCD会在应用所在命名空间生成专属指标Pod,但默认无Service暴露。可按以下步骤创建:

1. 确认应用指标Pod标签

执行命令找到目标应用的指标Pod标签:

kubectl get pods -n <应用命名空间> -l app.kubernetes.io/name=argocd-application-metrics

记录app.kubernetes.io/instance对应的标签值(即你的应用名称)。

2. 编写应用专属Service配置

创建<应用名>-metrics-svc.yaml:

apiVersion: v1
kind: Service
metadata:
  name: <你的应用名>-metrics
  namespace: <应用命名空间>
spec:
  type: NodePort
  selector:
    app.kubernetes.io/name: argocd-application-metrics
    app.kubernetes.io/instance: <你的应用名>
  ports:
    - name: metrics
      port: 8082
      targetPort: 8082

3. 应用配置并访问

执行kubectl apply -f <应用名>-metrics-svc.yaml,之后通过对应NodePort/LoadBalancer地址访问指标端点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 03:52:18