前言:通过k8s编排文件部署grafana7.0.4,登录grafana重置密码后,发现浏览器报Unauthorized,截图如下:
通过k8s的编排文件部署grafana,重置密码后登录,浏览器报Unauthorized_第1张图片

最开始以为是容器数据持久化到虚拟机,目录权限的问题导致的
1.通过查看grafana的镜像启动用户为grafana uid gid 均为472 472
通过k8s的编排文件部署grafana,重置密码后登录,浏览器报Unauthorized_第2张图片
2.通过使用initcontainer镜像修改/var/lib/grafana的目录权限为472,hostpath到宿主机的目录权限也已经修改为472,重新登录,发现仍然报Unauthorized
3.打开了浏览器的调试模式,看看有没有什么蛛丝马迹, grafana 默认的用户密码是均为admin,通过输入用户密码后保存,重置密码还是报错了,skip的话,会重新让你输入登录的用户和密码,像是cookie丢掉了,所以后面需要重新登录了,然后通过对比正常能登录的和出现问题,打开了调试模式,发现了cookies丢失,以下是相关的截图:

登录异常:
通过k8s的编排文件部署grafana,重置密码后登录,浏览器报Unauthorized_第3张图片
正常登录:
通过k8s的编排文件部署grafana,重置密码后登录,浏览器报Unauthorized_第4张图片

发现正常能登录的grafana,用户密码输入后,会生成grafana_session的值了
4.也可以通过curl命令来验证,登录会设置cookie的值,重置密码阶段相当于像服务器端重新发起了请求,会携带上上一步设定的cookie的值,来像服务端发起请求,而之所以出现了重新登录,可能是cookie丢失了,排除了服务端的问题,可能是客户端浏览器丢失了cookie导致,发现用别人的浏览器来登录是没有问题
curl -i -vv http://10.0.0.100:3000/login -d '{"user":"admin","password":"admin","email":""}' -H 'Content-Type: application/json;charset=UTF-8'
通过k8s的编排文件部署grafana,重置密码后登录,浏览器报Unauthorized_第5张图片

总结: curl的常用命令和参数,后续会整理一下。