Grafana openshift监视OAuth代理:请求缺少必需的参数

时间:2018-12-31 10:09:03

标签: oauth kubernetes openshift-origin

我正在使用全新安装的openshift:

oc v3.11.0+62803d0-1
kubernetes v1.11.0+d4cacc0
features: Basic-Auth GSSAPI Kerberos SPNEGO

Server https://master.mydomain.fr:8443
openshift v3.11.0+2bcedfc-77
kubernetes v1.11.0+d4cacc0

我有3个节点:

[root@master centos]# oc get node
NAME                 STATUS    ROLES     AGE       VERSION
master.mydomain.fr   Ready     master    1d        v1.11.0+d4cacc0
node1.mydomain.fr    Ready     infra     1d        v1.11.0+d4cacc0
node2.mydomain.fr    Ready     compute   1d        v1.11.0+d4cacc0
node3.mydomain.fr    Ready     compute   1d        v1.11.0+d4cacc0
node4.mydomain.fr    Ready     compute   1d        v1.11.0+d4cacc0

我已成功配置了所有内容,但现在尝试访问grafana仪表板。我创建了一条路线:

grafana.mydomain.fr

我被重定向到OauthProxy的登录按钮。当我单击Login时,我将使用Json重定向到空白页:

{"error":"invalid_request","error_description":"The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed.","state":"7f3a18c95ae8237d39d35bf8ff317ae4:/"}

这是我得到的URI:

https://master.mydomain.fr:8443/oauth/authorize?approval_prompt=force&client_id=system%3Aserviceaccount%3Aopenshift-monitoring%3Agrafana&redirect_uri=https%3A%2F%2Fgrafana.mydomain.fr%2Foauth%2Fcallback&response_type=code&scope=user%3Ainfo+user%3Acheck-access&state=7f3a18c95ae8237d39d35bf8ff317ae4%3A%2F

查看日志后,我得到:

no RBAC policy matched

我很确定它已链接到我的配置(也许重定向URI不正确),但老实说我不知道​​如何配置它。你有个主意吗?

预先感谢

1 个答案:

答案 0 :(得分:0)

在尝试公开Prometheus(OpenShift 3.11)时,我遇到了完全相同的问题,这就是我解决问题的方法。

由于该问题无法明确说明路由名称,并且如果您创建了grafana以外的路由,这是openshift随附的默认帐户。那么原因之一可能是路由名称,这是因为根据以下部分,在身份验证过程中使用的serviceAccount预期将与名为grafana的路由一起使用:

# Taken from grafana's serviceAccount
metadata:
  annotations:
    serviceaccounts.openshift.io/oauth-redirectreference.grafana: '{"kind":"OAuthRedirectReference","apiVersion":"v1","reference":{"kind":"Route","name":"grafana"}}'

这使得身份验证特别适用于名为grafana的路由,因此可以使用所需的域来修改原始路由,或者使用您创建的新路由器来修改此注释。