更新域和端口后 Grafana pod crashloopbackoff

Grafana pod crashloopbackoff after updating domain and port

我正在将 keycloak OAuth 登录集成到 Openshift 中的 Grafana。

Keycloak Image Version - quay.io/keycloak/keycloak:15.0.2
Grafana Image Version - grafana/grafana:7.1.5
Kubernetes Version -  v1.21
Openshift Version - 4.8

keyclaok 暴露在路线:http://keycloak-keycloak.router.default.svc.cluster.local.167.254.203.104.nip.io Grafana 暴露在路线:https://grafana.router.default.svc.cluster.local.167.254.203.104.nip.io keycloak 是使用 Realm - devops 和 client - grafana 创建的,这些值作为环境变量添加到 Grafana 部署中,如下所示

GF_AUTH_GENERIC_OAUTH_NAME=OAuth
GF_AUTH_GENERIC_OAUTH_ENABLED=true
GF_AUTH_GENERIC_OAUTH_ALLOW_SIGN_UP=true
GF_AUTH_GENERIC_OAUTH_CLIENT_ID=grafana
GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET=33341c00-daf2-4170-a66f-c2c7c23ad151 
GF_AUTH_GENERIC_OAUTH_AUTH_URL=http://keycloak-keycloak.router.default.svc.cluster.local.167.254.203.104.nip.io/auth/realms/devops/protocol/openid-connect/auth
GF_AUTH_GENERIC_OAUTH_TOKEN_URL=http://keycloak-keycloak.router.default.svc.cluster.local.167.254.203.104.nip.io/auth/realms/devops/protocol/openid-connect/token
GF_AUTH_GENERIC_OAUTH_API_URL=http://keycloak-keycloak.router.default.svc.cluster.local.167.254.203.104.nip.io/auth/realms/devops/protocol/openid-connect/userinfo
GF_AUTH_GENERIC_OAUTH_TLS_SKIP_VERIFY_INSECURE=true

当我浏览 Grafana 路由并单击 Sign in with OAuth 时,我在屏幕上出现错误 - Inavalid Prameter Redirect URI。在 keycloak 日志中,我看到错误 - error=invalid_redirect_uri, redirect_uri=http://localhost:3000/login/generic_oauth。 它以 localhost:3000 作为重定向 URI,但我在 keycloak web 的客户端部分指定了正确的重定向 URI,即:https://grafana.router.default.svc.cluster.local.167.254.203.104.nip.io/*.

调试此问题时遇到了类似的问题:https://github.com/cetic/helm-fadi/issues/39。 因此,我将这两个环境变量添加到 Grafana:

GF_SERVER_DOMAIN=grafana.router.default.svc.cluster.local.167.254.203.104.nip.io
GF_SERVER_HTTP_PORT=80

这导致 pod crashloopbackoff 并在日志中出现以下错误:

t=2021-12-31T11:29:26+0000 lvl=info msg="HTTP Server Listen" logger=http.server address=[::]:80 protocol=https subUrl=//grafana.router.default.svc.cluster.local.167.254.203.104.nip.io:80 socket=
t=2021-12-31T11:32:53+0000 lvl=info msg="Shutdown started" logger=server reason="System signal: terminated"
t=2021-12-31T11:32:53+0000 lvl=info msg="Stopped Stream Manager"

请帮助我继续。

它在 Grafana documentation:

You may have to set the root_url option of [server] for the callback URL to be correct.

因此删除 GF_SERVER_DOMAIN,GF_SERVER_HTTP_PORT 并正确配置 GF_SERVER_ROOT_URL(我猜您设置的正确值是 https://grafana.router.default.svc.cluster.local.167.254.203.104.nip.io

Grafana 将能够使用此设置生成正确的重定向 URL。