Syntax highlighting of 5d0f0bb ~( devops/gitlab/troubleshooting)
= GitLab Troubleshooting = <<TableOfContents()>> == first login error == При первом запуске предлагается ввести логин и пароль, при том что ранее предлагалось сразу вводить новый пароль. Вариант решения - установить пароль через Rails - консоль {{{ gitlab-rails console }}} {{{ user = User.first user.skip_reconfirmation! user.password="secret" user.password_confirmation="secret" user.save! }}} == gitlab-backup create error == Ошибка при создании бекапа {{{ Dumping PostgreSQL database gitlabhq_production ... pg_dump: [archiver (db)] query failed: ERROR: catalog is missing 1 attribute(s) for relid 183034 }}} Вариант решения ([[https://postgrespro.ru/list/thread-id/1463381|источник|class=" moin-https"]]). {{{ export PGOPTIONS="--ignore_system_indexes=1" }}} == gitlab-ctl reconfigure stucks == Выполнить внутри контейнера {{{ docker exec -it gitlab_container_name /opt/gitlab/embedded/bin/runsvdir-start & }}} == Error executing action run on resource == При восстановлении из директории gitlab на другой машине гитлаб не стартует с ошибкой: {{{ Error executing action `run` on resource 'ruby_block[directory resource: /var/opt/gitlab/git-data/repositories]' }}} Нечто подобное найдно здесь: https://gitlab.com/gitlab-org/omnibus-gitlab/-/issues/1601 Решено с помощью команд: {{{ sudo chmod -R 0777 /path/to/srv/gitlab/ sudo chmod 2770 /path/to/srv/gitlab/data/git-data/repositories }}} == Something went wrong while fetching the registry list == В разделе ''Registry'' отображается имя образа, однако при попытка "раскрыть" его получаем ошибку: ''Something went wrong while fetching the registry list.'' Переходим в директорию с логом gitlab и получаем текст ошибки при доступе к registry {{{ # на сервере gitlab cd /srv/gitlab/logs/gitlab-rails tail -f production.log # ... # Faraday::ConnectionFailed (Failed to open TCP connection to registry.isoit.ru:5000 (Connection refused - connect(2) for "registry.isoit.ru" port 5000)): # lib/container_registry/client.rb:19:in `repository_tags' # ... }}} Подтверждаем ошибку изнутри контейнера {{{ docker exec -it gitlab bash irb }}} {{{ require 'faraday' conn = Faraday.new(:url => 'https://registry.isoit.ru:5000') conn.get # Faraday::ConnectionFailed: Failed to open TCP connection to registry.isoit.ru:5000 (Connection refused - connect(2) for "registry.isoit.ru" port 5000) }}} Тоже делаем на хост машине и получаем ответ {{{ => #<Faraday::Response:0x00005623f4e532d8 @env= #<struct Faraday::Env method=:get, body="", url=#<URI::HTTPS https://registry.isoit.ru:5000/>, request=#<struct Faraday::RequestOptions params_encoder=nil, proxy=nil, bind=nil, timeout=nil, open_timeout=nil, boundary=nil, oauth=nil, context=nil>, request_headers={"User-Agent"=>"Faraday v0.15.2"}, ... status=200, reason_phrase="OK">, @on_complete_callbacks=[]> }}} Проблема в том, что контейнеры из местной сети должны ходить в registry по локальному адресу 10.0.100.234. Для этого необходимо чтобы обращение к ''registry.isoit.ru'' осуществлялась в первую очередь через местные dns-серверы. '''Решение''' В файл ''/etc/network/interfaces'' необходимо прописать ''dns'' {{{ # This file describes the network interfaces available on your system # and how to activate them. For more information, see interfaces(5). source /etc/network/interfaces.d/* # The loopback network interface auto lo iface lo inet loopback # The primary network interface auto ens18 iface ens18 inet dhcp dns-nameservers 192.168.0.10 192.168.0.2 # <----------------------- }}} Перезапускаем сеть {{{ service networking restart }}}
