1

我正在尝试将 Grafana 与我的 kubeflow 集成以监控我的模型。

我不知道从哪里开始,因为我无法在文档中找到任何内容。

有人可以帮忙吗?

4

3 回答 3

1

要使用 kubeflow 运行 Grafana,请执行以下步骤:

  1. 创建命名空间

kubectl 创建命名空间 knative-monitoring

  1. 设置监控组件

kubectl apply --filename https://github.com/knative/serving/releases/download/v0.13.0/monitoring-metrics-prometheus.yaml

  1. 通过端口转发启动 grafana 板

kubectl port-forward --namespace knative-monitoring $(kubectl get pod --namespace knative-monitoring --selector="app=grafana" --output jsonpath='{.items[0].metadata.name}') 8080 :3000

访问 http://localhost:8080 上的 grafana 仪表板。

于 2020-10-20T04:49:36.260 回答
1

这取决于您的配置。我有一个在 EC2 虚拟机上运行的 MiniKF 实例,需要指定地址为 0.0.0.0 才能使端口转发方法起作用。

kubectl port-forward --namespace knative-monitoring \
  $(kubectl get pod --namespace knative-monitoring \
    --selector="app=grafana" --output jsonpath='{.items[0].metadata.name}') \
  --address 0.0.0.0 8080:3000

然后您应该能够访问 grafana 仪表板http://{your-kf-ip}:8080

于 2021-06-03T22:36:54.093 回答
1

你也可以通过 istio 公开它,使用这个虚拟服务:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: grafana-vs
  namespace: kubeflow
spec:
  gateways:
  - kubeflow-gateway
  hosts:
  - '*'
  http:
  - match:
    - method:
        regex: GET|POST
      uri:
        prefix: /istio/grafana/
    rewrite:
      uri: /
    route:
    - destination:
        host: grafana.istio-system.svc.cluster.local
        port:
          number: 3000

因此,如果您通常通过https://kubeflow.example.com访问您的 kubeflow 仪表板,则通过公开此信息kubeflow-gateway将允许您通过https://kubeflow.example.com/istio/grafana/访问它

如果您使用的不是 Istio 的 grafana 而是 Knative 的,您可以相应地更改目的地。

您可能还需要通过 grafana 部署中的 env 变量更改 grafana 的根 url:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: grafana
  namespace: istio-system
spec:
  template:
      containers:
      - env:
        - name: GF_SERVER_ROOT_URL
          value: https://kubeflow.example.com/istio/grafana
于 2021-06-07T10:30:35.210 回答