• 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还需要翻墙,这里使用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‘ 
     
  • 相关阅读:
    RMAN 增量备份 的 对象测试
    小论工具类App的盈利之道
    linux下二进制文件比较程序
    [置顶] 对iOS开发有用的一些自动化处理脚本
    [Win8]Windows8开发笔记(八):数据绑定的基础
    NetBeans 时事通讯(刊号 # 116 Sep 11, 2010)
    域名信息证实 JavaEye 已被 CSDN 收购
    插件架构简介
    GAE for Java exception: no matching index found.
    Java 7 最快要到 2012 年中发布
  • 原文地址:https://www.cnblogs.com/allmdzz/p/12708254.html
Copyright © 2020-2023  润新知