我在 kubernetes 中运行 Grafana v6.2.4,使用基本身份验证。我想使用 k8s 代理进行测试(即kubectl proxy --port=8080
)。我已将GF_SERVER_ROOT_URL
环境变量更改为:
{
"name": "GF_SERVER_ROOT_URL",
"value": "http://localhost:8080/api/v1/namespaces/my-namespace/services/grafana-prom:80/proxy/"
}
这使我可以通过我的浏览器登录并使用 Grafana http://localhost:8080/api/v1/namespaces/my-namespace/services/grafana-prom:80/proxy/
。
但是,我想通过 API 使用它。如果我向我发送请求,http://localhost:8080/api/v1/namespaces/my-namespace/services/grafana-prom:80/proxy/api/dashboards/db
我会返回
{
"message": "Unauthorized"
}
但是,如果我设置了一个 kubernetes 端口转发并将相同的请求发送到http://localhost:30099/api/dashboards/db
,那么它会成功。
除了GF_SERVER_ROOT_URL
我应该更改以使 API 服务器根通过 k8s 代理之外,是否还有其他环境变量,即http://localhost:8080/api/v1/namespaces/my-namespace/services/grafana-prom:80/proxy/api/dashboards/db
?我已经看过这里但找不到它。
否则通过k8s代理访问API的正确方法是什么?
我应该补充一点,我特别想kubetctl proxy
用作替代方案,kubectl port-forward
所以我希望在这里找到建议的替代方案https://stackoverflow.com/a/45189081/1011724