Gitlab CE容器注册表超时-Rack::Timeout::RequestTimeoutException

Gitlab CE容器注册表超时-Rack::Timeout::RequestTimeoutException,gitlab,docker-registry,gitlab-omnibus,gitlab-ce,Gitlab,Docker Registry,Gitlab Omnibus,Gitlab Ce,我想请求您的帮助,我有gitlab ce实例作为独立的gitlab在AWS EC2上运行,并且容器(docker)注册表不工作。多谢各位 问题:在Gitlab CE版本(自托管)中,容器注册表不工作。 症状: 在任何项目上通过UI访问GitLab注册表都会导致500个HTTP错误“哎呀,我们这边出了问题。” 硬数据: gitlab-ce已经是最新版本(13.3.5-ce.0)-通过gitlab-omnibus安装从官方上游安装 gitlab.rb相关部分-如您所见,所有内容都被注释掉了 访问注册

我想请求您的帮助,我有
gitlab ce
实例作为独立的gitlab在AWS EC2上运行,并且容器(docker)注册表不工作。多谢各位

问题:在Gitlab CE版本(自托管)中,容器注册表不工作。 症状:

  • 在任何项目上通过UI访问GitLab注册表都会导致500个HTTP错误“哎呀,我们这边出了问题。”
  • 硬数据:

  • gitlab-ce
    已经是最新版本(13.3.5-ce.0)-通过gitlab-omnibus安装从官方上游安装
  • gitlab.rb
    相关部分-如您所见,所有内容都被注释掉了
  • 访问注册表的用户是实例的管理员
  • ################################################################################
    ##容器注册表设置
    ##! 文件:https://docs.gitlab.com/ee/administration/container_registry.html
    ################################################################################
    注册表\u外部\u url'https://gitlab.mydomain.com:5005'
    ###GitLab应用程序使用的设置
    gitlab_rails['registry_enabled']=true
    gitlab_rails['registry_host']=“gitlab.mydomain.com”
    gitlab_rails['registry_port']=“5005”
    #gitlab\u rails['registry\u path']=“/mnt/gitlab/gitlab rails/shared/registry”
    #通知机密,用于对GitLab应用程序的通知请求进行身份验证
    #您只需要在使用外部注册表服务时更改此项,否则
    #它将直接从注册表的通知设置中获取
    #gitlab_rails['registry_notification_secret']=nil
    
    分析:

  • 在日志和转储跟踪之后,此堆栈跟踪出现在日志中的超时限制上:
  • 有关更多详细信息,请参阅此json

    {
    “方法”:“获取”,
    “路径”:“#######/容器注册”,
    “格式”:“html”,
    “控制器”:“项目::注册表::RepositoriesController”,
    “行动”:“索引”,
    “地位”:500,
    “时间”:“2020-09-10T10:48:28.546Z”,
    “参数”:[{
    “键”:“名称空间\u id”,
    “值”:“修订”
    }, {
    “密钥”:“项目id”,
    “值”:“修订”
    }],
    “远程ip”:“已编辑”,
    “用户id”:1,
    “用户名”:“######”,
    “ua”:“Mozilla/5.0(X11;Linux x86_64)AppleWebKit/537.36(KHTML,类似Gecko)Chrome/85.0.4183.102 Safari/537.36”,
    “相关性id”:“9xxF4mcYPP6”,
    “meta.user”:“######”,
    “meta.project”:“######”,
    “meta.root_名称空间”:“##已编辑##”,
    “meta.caller_id”:“项目::注册表::RepositoriesController#index”,
    “redis_呼叫”:11,
    “redis_duration_s”:0.00337599999997,
    “redis_read_bytes”:1568,
    “redis_write_bytes”:1664,
    “redis_缓存调用”:10,
    “redis\u缓存\u持续时间\u s”:0.002717,
    “redis_缓存_读取字节”:1387,
    “redis_缓存_写入_字节”:548,
    “redis_共享_状态_调用”:1,
    “redis共享状态持续时间”:0.000659,
    “redis_共享_状态_读取字节”:181,
    “redis_共享_状态_写入_字节”:1116,
    “队列持续时间”:0.026687,
    “cpu_s”:0.09,
    “exception.class”:“Rack::Timeout::RequestTimeoutException”,
    “异常消息”:“请求运行时间超过60000ms”,
    “异常。回溯”:
    [
    “lib/container\u registry/client.rb:45:in`repository\u tags'”,
    “app/models/container_repository.rb:63:在`清单'中”,
    “lib/gitlab/metrics/instrumentation.rb:161:in`block in manifest'”,
    “lib/gitlab/metrics/method_call.rb:27:in`measure'”,
    “lib/gitlab/metrics/instrumentation.rb:161:在`清单'中”,
    “app/models/container_repository.rb:67:in`tags'”,
    “lib/gitlab/metrics/instrumentation.rb:161:in`block-in-tags'”,
    “lib/gitlab/metrics/method_call.rb:27:in`measure'”,
    “lib/gitlab/metrics/instrumentation.rb:161:in`tags'”,
    “app/models/container_repository.rb:87:in`has_tags'”,
    “lib/gitlab/metrics/instrumentation.rb:161:in`block in has_tags'”,
    “lib/gitlab/metrics/method_call.rb:27:in`measure'”,
    “lib/gitlab/metrics/instrumentation.rb:161:in`has_tags?'”,
    “app/controllers/projects/registry/repositories\u controller.rb:57:在'sure\u root\u container\u repository!'中的块(2个级别)'”,
    “app/controllers/projects/registry/repositories_controller.rb:56:in`tap'”,
    “app/controllers/projects/registry/repositories\u controller.rb:56:in`block in sure\u root\u container\u repository!'”,
    “app/controllers/projects/registry/repositories_controller.rb:53:in`tap'”,
    “app/controllers/projects/registry/repositories\u controller.rb:53:in`sure\u root\u container\u repository!'”,
    “app/controllers/application\u controller.rb:491:in`set\u current\u admin'”,
    “lib/gitlab/session.rb:11:in`with_session'”,
    “app/controllers/application\u controller.rb:482:in`set\u session\u storage'”,
    “lib/gitlab/i18n.rb:73:in`with_locale'”,
    “lib/gitlab/i18n.rb:79:in`with_user_locale'”,
    “app/controllers/application_controller.rb:476:in`set_locale'”,
    “lib/gitlab/error_tracking.rb:50:in`with_context'”,
    “app/controllers/application_controller.rb:541:in`sentry_context'”,
    “app/controllers/application_controller.rb:469:in`block in set_current_context'”,
    “lib/gitlab/application_context.rb:52:in`block in use'”,
    “lib/gitlab/application_context.rb:52:在`使用'中”,
    “lib/gitlab/application_context.rb:20:in`with_context'”,
    “app/controllers/application\u controller.rb:462:in`set\u current\u context'”,
    “lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in'call'”,
    “lib/gitlab/middleware/rails_queue_duration.rb:33:in`call'”,
    “lib/gitlab/metrics/rack_middleware.rb:16:in`block in call'”,
    “lib/gitlab/metrics/transaction.rb:6
    
    Rack::Timeout::RequestTimeoutException (Request ran for longer than 60000ms):
      
    lib/container_registry/client.rb:45:in `repository_tags'
    app/models/container_repository.rb:63:in `manifest'
    lib/gitlab/metrics/instrumentation.rb:161:in `block in manifest'
    lib/gitlab/metrics/method_call.rb:27:in `measure'
    lib/gitlab/metrics/instrumentation.rb:161:in `manifest'
    app/models/container_repository.rb:67:in `tags'
    lib/gitlab/metrics/instrumentation.rb:161:in `block in tags'
    lib/gitlab/metrics/method_call.rb:27:in `measure'
    lib/gitlab/metrics/instrumentation.rb:161:in `tags'
    app/models/container_repository.rb:87:in `has_tags?'
    lib/gitlab/metrics/instrumentation.rb:161:in `block in has_tags?'
    lib/gitlab/metrics/method_call.rb:27:in `measure'
    lib/gitlab/metrics/instrumentation.rb:161:in `has_tags?'
    app/controllers/projects/registry/repositories_controller.rb:57:in `block (2 levels) in ensure_root_container_repository!'
    app/controllers/projects/registry/repositories_controller.rb:56:in `tap'
    app/controllers/projects/registry/repositories_controller.rb:56:in `block in ensure_root_container_repository!'
    app/controllers/projects/registry/repositories_controller.rb:53:in `tap'
    app/controllers/projects/registry/repositories_controller.rb:53:in `ensure_root_container_repository!'
    app/controllers/application_controller.rb:491:in `set_current_admin'
    lib/gitlab/session.rb:11:in `with_session'
    app/controllers/application_controller.rb:482:in `set_session_storage'
    lib/gitlab/i18n.rb:73:in `with_locale'
    lib/gitlab/i18n.rb:79:in `with_user_locale'
    app/controllers/application_controller.rb:476:in `set_locale'
    lib/gitlab/error_tracking.rb:50:in `with_context'
    app/controllers/application_controller.rb:541:in `sentry_context'
    app/controllers/application_controller.rb:469:in `block in set_current_context'
    lib/gitlab/application_context.rb:52:in `block in use'
    lib/gitlab/application_context.rb:52:in `use'
    lib/gitlab/application_context.rb:20:in `with_context'
    app/controllers/application_controller.rb:462:in `set_current_context'
    lib/gitlab/metrics/elasticsearch_rack_middleware.rb:16:in `call'
    lib/gitlab/middleware/rails_queue_duration.rb:33:in `call'
    lib/gitlab/metrics/rack_middleware.rb:16:in `block in call'
    lib/gitlab/metrics/transaction.rb:61:in `run'
    lib/gitlab/metrics/rack_middleware.rb:16:in `call'
    lib/gitlab/request_profiler/middleware.rb:17:in `call'
    lib/gitlab/middleware/go.rb:20:in `call'
    lib/gitlab/etag_caching/middleware.rb:13:in `call'
    lib/gitlab/middleware/multipart.rb:140:in `call'
    lib/gitlab/middleware/read_only/controller.rb:51:in `call'
    lib/gitlab/middleware/read_only.rb:18:in `call'
    lib/gitlab/middleware/same_site_cookies.rb:27:in `call'
    lib/gitlab/middleware/basic_health_check.rb:25:in `call'
    lib/gitlab/middleware/handle_ip_spoof_attack_error.rb:25:in `call'
    lib/gitlab/middleware/request_context.rb:23:in `call'
    config/initializers/fix_local_cache_middleware.rb:9:in `call'
    lib/gitlab/metrics/requests_rack_middleware.rb:60:in `call'
    lib/gitlab/middleware/release_env.rb:12:in `call'
    
    Running garbage-collect using configuration ["/opt/gitlab/embedded/bin/registry", "garbage-collect", "/var/opt/gitlab/registry/config.yml"], this might take a while...
    INFO[0000] starting mark stage                           environment=production go.version=go1.14.7 instance.id=d714caeb-b88f-4bca-823e-9da27acb9999 service=registry
    failed to garbage collect: failed to mark: : Path not found: /docker/registry/v2/repositories
    Failed to run garbage-collect command, starting registry service.
    
    # curl localhost:5000/v2/      
    {"errors":[{"code":"UNAUTHORIZED","message":"authentication required","detail":null}]}