k8s部署gitlab

k8s集群下部署gitlab,,主要使用三个pods,一个gitlab,一个postgres,一个redis

使用的镜像

gitlab镜像:https://hub.docker.com/r/sameersbn/gitlab/tags?page=2

postgres镜像:https://hub.docker.com/r/sameersbn/postgresql/tags

redis镜像:https://hub.docker.com/r/sameersbn/redis/tags

此次使用的存储都是通过aws的文件存储efs

先创建strogresclass

创建pvc

kind: PersistentVolumeClaim
apiVersion: v1
metadata:
name: gitlab-gitlab
annotations:
volume.beta.kubernetes.io/storage-class: "aws-efs"
spec:
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi

创建gitlab容器,挂载pvc到容器里

此次gitlab版本为gitlab12.9.2(修改了原镜像的文件,重新打包的自定义镜像)

 

报错的bug为gitlab新建项目使用github导入时页面500错误

在/home/git/gitlab/log/production.log路径下,日志显示为

NoMethodError (undefined method `users_import_github_callback_url' for #<Import::GithubController:0x00007fb1567dcc60>

修改文件在该路径下

/home/git/gitlab/app/controllers/import/github_controller.rb

 if github_import_configured? && logged_in_with_provider?
       go_to_provider_for_permissions
-    elsif session[access_token_key](原镜像文件中的这行删除)
+    elsif session[access_token_key].present?(新加这一行)
       redirect_to status_import_url
     end
   end

修改完后重新打包镜像,当然也可以把整个配置目录挂载出来
这里选择只挂载data目录保存仓库文件,所以重打包镜像
重新生成Pods后,由于是国内的机器,所以访问github还需要FQ,这里使用v2提供服务,容器设置export http_proxy="socks5://IP:port"
export https_proxy="socks5://IP:port"
但是日志还是报api.github.com:443链接不上,所以暂时修改了hosts文件,指定api.github.com使用固定ip



gitlab的备份与还原
由于采用
sameersbn/gitlab的镜像构建gitlab,所以容器内没有包含gitlab-rake命令,这种方式安装的是对应官网的源代码安装,请使用此工具:
sudo -u git -H bundle exec rake gitlab:backup:create RAILS_ENV=production
该操作会在/home/git/data/backups目录下以日期为单位备份
执行还原备份操作:
sudo service gitlab stop
bundle exec rake gitlab:backup:restore RAILS_ENV=production
注意:当使用bundle exec rake备份时,会提示需要手动备份gitlab-secrets.json与gitlab.rb文件,这两个文件用于在其它服务器上还原此备份需要
参考地址:https://docs.gitlab.com/ee/raketasks/backup_restore.html
可以在gitlab的启动yaml文件上加上env,指定备份路径,备份时间,每日备份等
 --env=‘GITLAB_BACKUP_DIR=/home/git/data/backups‘   --env=‘GITLAB_BACKUPS=daily‘   --env=‘GITLAB_BACKUP_TIME=00:00‘ \
 

 

posted on 2020-04-15 20:38  一直用这名字  阅读(4812)  评论(0编辑  收藏  举报

导航