【问题标题】:Grafana openshift monitoring OAuth Proxy: The request is missing a required parameterGrafana openshift 监控 OAuth Proxy:请求缺少必需参数
【发布时间】:2018-12-31 10:09:03
【问题描述】:

我正在使用全新安装的 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 的登录按钮。当我点击登录时,我被重定向到带有 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 不正确),但老实说,我不知道如何配置它。你有什么想法吗?

提前致谢

【问题讨论】:

  • 你说的grafana在Prometheus Cluster Monitoring中使用?那么你应该有cluster-admin 角色来使用它。您登录的帐户是否具有cluster-admin 角色?
  • 您好,是的,我是集群管理员。我正在使用 Prometheus 集群监控(附带 ansible 安装)

标签: oauth kubernetes openshift-origin


【解决方案1】:

我在尝试公开 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 的路由,因此要么使用所需域修改原始路由,要么使用您创建的新路由器修改此注释。

【讨论】:

    猜你喜欢
    • 2019-12-11
    • 2017-01-15
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-14
    相关资源
    最近更新 更多