Поиск по блогу

пятница, 31 марта 2023 г.

Решение проблемы "sysctl: permission denied" при обновлении GitLab

У меня GitLab живёт в непривилегированном контейнере LXC и при очередной установке обновления появились ошибки связанные с отсутсвием прав менять настройки sysctl. Это ожидаемое поведение, т.к. на сервере много других контейнеров и я не хочу чтобы каждый из них мог крутить настройки ядра.

Ошибки выглядят пример так

  * gitlab_sysctl[kernel.sem] action create
    * directory[create /etc/sysctl.d for kernel.sem] action create (up to date)
    * file[create /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf kernel.sem] action create[2023-03-31T22:13:28+03:00] INFO: file[create /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf kernel.sem] backed up to /opt/gitlab/embedded/cookbooks/cache/backup/opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf.chef-20230331221328.890308
[2023-03-31T22:13:28+03:00] INFO: file[create /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf kernel.sem] updated file contents /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf

      - update content in file /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf from 09a346 to 3b0a60
      --- /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf    2017-06-21 13:47:53.000000000 +0300
      +++ /opt/gitlab/embedded/etc/.chef-90-omnibus-gitlab-kernel20230331-271264-19acez0.sem.conf       2023-03-31 22:13:28.886738600 +0300
      @@ -1 +1 @@
      -kernel.sem = 250 32000 32 262
      +kernel.sem = 250 32000 32 275
    * link[/etc/sysctl.d/90-omnibus-gitlab-kernel.sem.conf] action create (up to date)
    * execute[load sysctl conf kernel.sem] action nothing (skipped due to action :nothing)
[2023-03-31T22:13:28+03:00] INFO: file[create /opt/gitlab/embedded/etc/90-omnibus-gitlab-kernel.sem.conf kernel.sem] sending run action to execute[load sysctl conf kernel.sem] (delayed)
    * execute[load sysctl conf kernel.sem] action run
      [execute] sysctl: permission denied on key "kernel.sem"

Чтобы избежать попыток "крутить" настройки ядра достаточно добавить параметр package['modify_kernel_parameters'] = false в /etc/gitlab/gitlab.rb и выполнить обновление конфигурации

$ cat <<_EOF_ | sudo tee -a /etc/gitlab/gitlab.rb
gitlab_kas['enable'] = false
_EOF_

$ sudo gitlab-ctl reconfigure

$ sudo gitlab-ctl restart

Перезапускать сервис не обязательно, но в моем случае часть сервисов оказались остановленными. Решение подсмотрел тут.

Комментариев нет:

Отправить комментарий