如何在kube-prometheus-stack中编辑grafana.ini配置Google OAuth2认证
在kube-prometheus-stack中配置Grafana的Google OAuth2认证(无需直接编辑grafana.ini)
kube-prometheus-stack通过Helm values统一管理Grafana配置,不建议直接修改Pod内的grafana.ini——因为Pod重启后所有临时修改会丢失。正确的做法是通过Helm values覆盖认证配置项,再重新部署。
1. 准备Google OAuth2凭证
先在Google Cloud控制台创建OAuth客户端ID,获取以下关键信息:
client_idclient_secret- 授权回调URL(格式为
https://<你的Grafana域名>/login/google)
2. 编写自定义Helm配置文件
创建一个名为grafana-oauth-values.yaml的自定义配置文件,填入Google OAuth2相关配置:
grafana: grafana.ini: auth.google: enabled: true client_id: "你的Google客户端ID" client_secret: "你的Google客户端密钥" scopes: "openid email profile" auth_url: "https://accounts.google.com/o/oauth2/auth" token_url: "https://accounts.google.com/o/oauth2/token" # 可选:限制仅特定域名用户登录 allowed_domains: "example.com" # 可选:限制仅特定用户登录(优先级高于域名限制) # allowed_users: "user1@example.com,user2@example.com"
3. 更新Helm部署
用自定义配置文件升级kube-prometheus-stack的Release:
helm upgrade -f grafana-oauth-values.yaml <你的Release名称> prometheus-community/kube-prometheus-stack -n <部署命名空间>
替换<你的Release名称>和<部署命名空间>为实际值(默认命名空间通常为monitoring)。
临时查看/修改Pod内的grafana.ini(仅用于调试)
如果只是临时调试需要查看或修改Pod内的配置文件,可执行以下步骤:
- 查找Grafana Pod名称:
kubectl get pods -n <部署命名空间> | grep grafana - 进入Pod的Shell环境:
kubectl exec -it <Grafana Pod名称> -n <部署命名空间> -- /bin/bash - 查看或编辑
grafana.ini(默认路径为/etc/grafana/grafana.ini):cat /etc/grafana/grafana.ini # 若Pod内有编辑器,可直接修改(如vi) vi /etc/grafana/grafana.ini
⚠️ 注意:此方式修改的配置仅临时生效,Pod重启后会被Helm覆盖,生产环境禁止使用。
内容的提问来源于stack exchange,提问作者Ruslan Pylypiuk
相关产品推荐
相关产品推荐

