问题描述
我正在尝试将Grafana与我的kubeflow集成在一起,以监视我的模型。
由于无法在文档中找到任何内容,因此我不知道从何处开始。
有人可以帮忙吗?
解决方法
这取决于您的配置。我有一个运行在 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
然后您应该可以在 http://{your-kf-ip}:8080
你也可以通过 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 的根网址:
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
,
要使用kubeflow运行Grafana,请按照以下步骤操作:
- 创建名称空间
kubectl创建名称空间knative-monitoring
- 设置监视组件
kubectl apply --filename https://github.com/knative/serving/releases/download/v0.13.0/monitoring-metrics-prometheus.yaml
- 通过端口转发启动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仪表板。