rancher部署git服务

有人用ranchers部署过git吗?

报错信息:
2022-07-14_10:02:43.64905 level=error ts=2022-07-14T10:02:43.649007042Z caller=glog.go:94 component=k8s_client_runtime func=ErrorDepth msg=“github.com/prometheus/prometheus/discovery/kubernetes/kubernetes.go:372: Failed to list *v1.Node: nodes is forbidden: User “system:serviceaccount:gitlab:default” cannot list resource “nodes” in API group “” at the cluster scope”

从报错提示上看,是gitlab默认使用的serviceaccouent没有列出节点的权限导致的。不知道你这个报错信息是从哪个组件上取出来的?

是在rancher跑的git服务,但是我都没有配参数的,只是简单的起了个实例,然后输出这信息了,通过docker直接运行都没有输出这个。

你这个情况应该是没有指定serviceaccount,所以使用的默认的default这个serviceaccount,这个serviceaccount权限不足。

两种解决方案:
1.为了方便你可以直接创建一个binding cluster-admin权限的serviceaccount给你的服务用。
2.你自己创建一个自定义的clusterrole,利用clusterrolebinding binding到你服务使用的serviceaccount。但是这个自定义的clusterrole就需要你根据报错去添加对于的rbac权限了。

请问下,rancher上要怎么配你说的这信息呢?谢谢

然后请求报错了

400 Bad Request

The plain HTTP request was sent to HTTPS portnginx

你好,确认一下你是使用极狐gitlab的helm chart在rancher中安装时遇到这个错误的吗?
helm chart:极狐GitLab 云原生 Helm chart | GitLab

我们是在rancher上,直接通过docker镜像安装的,镜像名: gitlab/gitlab-ce:11.8.2-ce.0,443端口开放和挂载数据出来,启动后日志报错,浏览器请求gitlab.rb配置里的url报400这个错。
之前服务器上用docker通过这个镜像安装是正常的,也能一直升级下去。

我看你最上面的报错是serviceaccount的报错,我简单的说一下怎么创建serviceaccount看能不能解决这个权限的问题。
假设你在gitlab的namespace中创建一个叫做gitlab的serviceaccount,并且给它绑定cluster-admin的权限:

kubectl -n gitlab create sa gitlab
kubectl create clusterrolebinding gitlab-cluster-admin --clusterrole=cluster-admin --serviceaccount=gitlab:gitlab

然后你再编辑你部署的deployment将serviceAccount的值改成gitlab.

请问下,这是要在rancher服务上执行的吗?

这个是命令行操作,rancher应该是有图形化界面的操作,你可能需要根据你额实际情况修改。
比如说了解rancher怎么创建serviceaccount怎么绑定serviceaccount的操作。

刚看了下,目前的rancher里,namespace只有个默认的default,然后要操作:
kubectl create namespace gitlab
kubectl -n gitlab create sa gitlab
kubectl create clusterrolebinding gitlab-cluster-admin
最后修改serviceAccount,但是看了下yaml,有2个配置:
serviceAccount: default
serviceAccountName: default

serviceAccountName是也要修改为gitlab呢,还是直接不动?谢谢

都改成gitlab。

我看你最上面的报错我以为你就是安装到gitlab这个namespace的呢,你要注意这样创建的serviceaccount你要将服务安装在gitlab的namespace中才能用哈。

可以了,谢谢!没有改什么,只是在rancher上改好了端口而已。