Grafana 与 kubeflow
Grafana with kubeflow
我正在尝试将 Grafana 与我的 kubeflow 集成以监控我的模型。
我不知道从哪里开始,因为我无法在文档中找到任何内容。
有人可以帮忙吗?
要 运行 带有 kubeflow 的 Grafana,请按照以下步骤操作:
- 创建命名空间
kubectl create namespace 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 仪表板。
这取决于您的配置。我在 EC2 VM 上有一个 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
访问 grafana 仪表板
您也可以使用此虚拟服务通过 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, having this exposed through kubeflow-gateway
will allow you to access it via https://kubeflow.example.com/istio/grafana/
访问您的 kubeflow 仪表板
如果您使用的不是 Istio 的 grafana,而是 Knative 的,您可以相应地更改目的地。
您可能还需要通过 grafana 部署中的环境变量更改 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
我正在尝试将 Grafana 与我的 kubeflow 集成以监控我的模型。
我不知道从哪里开始,因为我无法在文档中找到任何内容。
有人可以帮忙吗?
要 运行 带有 kubeflow 的 Grafana,请按照以下步骤操作:
- 创建命名空间
kubectl create namespace 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 仪表板。
这取决于您的配置。我在 EC2 VM 上有一个 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, having this exposed through kubeflow-gateway
will allow you to access it via https://kubeflow.example.com/istio/grafana/
如果您使用的不是 Istio 的 grafana,而是 Knative 的,您可以相应地更改目的地。
您可能还需要通过 grafana 部署中的环境变量更改 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