【原文链接】配置使用Gitlab账号认证登录Grafana
(1)使用admin账号登录gitlab,并按照如下步骤打开【应用】,点击【创建应用】
(2)设置应用的名字,这里自定义即可,然后设置回调url,这里需要使用grafana的url后加 /login/gitlab,比如 http://192.168.16.40:30200/login/gitlab ,同样如果使用域名,则使用grafana的域名后加 /login/gitlab,然后按照如下图所示勾选。
(3)此时将应用ID和密钥复制一下保存下来,在后面的grafana的配置文件中使用
(1)查询grafana的pod的id
[root@master ~]# kubectl get pod -n logging
NAME READY STATUS RESTARTS AGE
grafana-6d69c56644-dtgbt 1/1 Running 0 15h
loki-0 1/1 Running 0 43h
loki-promtail-8vjd6 1/1 Running 0 39h
loki-promtail-gmr5f 1/1 Running 0 39h
loki-promtail-svwtn 1/1 Running 0 39h
loki-promtail-tnvr9 1/1 Running 0 39h
[root@master ~]#
(2)通过如下命令可以查看默认的grafana的配置文件内容
kubectl exec -it grafana-6d69c56644-dtgbt cat /etc/grafana/grafana.ini -n logging
然后从中找到关于配置gitlab账号认证登录的配置,如下:
[auth.gitlab]
;enabled = false
;allow_sign_up = true
;client_id = some_id
;client_secret = some_secret
;scopes = api
;auth_url = https://gitlab.com/oauth/authorize
;token_url = https://gitlab.com/oauth/token
;api_url = https://gitlab.com/api/v4
;allowed_domains =
;allowed_groups =
(3)然后将enabled的参数设置为true,client_id和client_secret即为步骤一保存下来的应用id和密钥,auth_url、token_url和api_url前面部分替换为gitlab的域名,比如这里假设gitlab访问地址为:https://xxxxxx.cn
[auth.gitlab]
enabled = true
allow_sign_up = true
client_id = ab2fd22480f6b15e11xxxxxxxxxx1d709f104bfcbec97837
client_secret = 53efd224e149ef94a5a5xxxxxxxxxxxxx98a7fd321f77768340
scopes = api
auth_url = https://xxxxxx.cn/oauth/authorize
token_url = https://xxxxxx.cn/oauth/token
api_url = https://xxxxxx.cn/api/v4
allowed_domains =
allowed_groups =
(4)然后给grafana配置通过configmap的方式增加配置,在grafana目录下创建grafana-configmap.yaml文件,内容如下,这里注意需要增加server的配置,其中server下的root_url的值配置为grafana的在浏览器中访问的地址,比如https://yyyyy.cn/ ,则配置如下:
apiVersion: v1
kind: ConfigMap
metadata:
name: grafana-config
namespace: logging
labels:
app: grafana
data:
grafana.ini: |
[auth.gitlab]
enabled = true
allow_sign_up = true
client_id = ab2fd22480f6b15e11xxxxxxxxxx1d709f104bfcbec97837
client_secret = 53efd224e149ef94a5a5xxxxxxxxxxxxx98a7fd321f77768340
scopes = api
auth_url = https://xxxxxx.cn/oauth/authorize
token_url = https://xxxxxx.cn/oauth/token
api_url = https://xxxxxx.cn/api/v4
allowed_domains =
allowed_groups =
[server]
root_url = https://yyyyy.cn/
(5)然后修改 grafana-deploy.yaml 文件,对创建的configmap进行挂载,如下
(6)然后进入grafana目录,使用如下命令更新grafana
kubectl apply -f .
(6)此时刷新grafana的登录界面,可以看到已经出现通过gitlab账号登录访问的方式了,然后点击即可通过gitlab的账号进行登录了