Configuring Sidekiq

原文:https://docs.gitlab.com/ee/administration/high_availability/sidekiq.html

Configuring Sidekiq

本节讨论如何配置外部 Sidekiq 实例.

Sidekiq 需要连接到 Redis,PostgreSQL 和 Gitaly 实例. 要配置 Sidekiq 节点:

  1. SSH 到 Sidekiq 服务器.

  2. 从 GitLab 下载页面使用步骤 1 和 2 下载/安装所需的 Omnibus GitLab 软件包. 不要完成下载页面上的任何其他步骤.

  3. 使用编辑器打开/etc/gitlab/gitlab.rb .

  4. 生成 Sidekiq 配置:

    sidekiq['listen_address'] = "10.10.1.48"
    
    ## Optional: Enable extra Sidekiq processes
    sidekiq_cluster['enable'] = true
    sidekiq_cluster['enable'] = true
     "elastic_indexer"
    ] 
    1. 设置 Sidekiq 与 Redis 的连接:

      Must be the same in every sentinel node

      redis['master_name'] = 'gitlab-redis'

      The same password for Redis authentication you set up for the master node.

      redis['master_password'] = 'YOUR_PASSOWORD'

      A list of sentinels with host and port

      gitlab_rails['redis_sentinels'] = [ {'host' => '10.10.1.34', 'port' => 26379}, {'host' => '10.10.1.35', 'port' => 26379}, {'host' => '10.10.1.36', 'port' => 26379}, ]

    2. 设置 Sidekiq 与 Gitaly 的连接:

    git_data_dirs({
     'default' => { 'gitaly_address' => 'tcp://gitaly:8075' },
    })
    gitlab_rails['gitaly_token'] = 'YOUR_TOKEN' 
    1. 设置 Sidekiq 与 PostgreSQL 的连接:
    gitlab_rails['db_host'] = '10.10.1.30'
    gitlab_rails['db_password'] = 'YOUR_PASSOWORD'
    gitlab_rails['db_port'] = '5432'
    gitlab_rails['db_adapter'] = 'postgresql'
    gitlab_rails['db_encoding'] = 'unicode'
    gitlab_rails['auto_migrate'] = false 

    请记住将 Sidekiq 节点添加到 PostgreSQL 的受信任地址中:

    postgresql['trust_auth_cidr_addresses'] = %w(127.0.0.1/32 10.10.1.30/32 10.10.1.31/32 10.10.1.32/32 10.10.1.33/32 10.10.1.38/32) 
    1. 禁用其他服务:
    nginx['enable'] = false
    grafana['enable'] = false
    prometheus['enable'] = false
    gitlab_rails['auto_migrate'] = false
    alertmanager['enable'] = false
    gitaly['enable'] = false
    gitlab_monitor['enable'] = false
    gitlab_workhorse['enable'] = false
    nginx['enable'] = false
    postgres_exporter['enable'] = false
    postgresql['enable'] = false
    redis['enable'] = false
    redis_exporter['enable'] = false
    puma['enable'] = false
    gitlab_exporter['enable'] = false 
    1. Run gitlab-ctl reconfigure.

注意:发生更新并执行数据库迁移后,您将需要重新启动 Sidekiq 节点.

Example configuration

这是结尾的/etc/gitlab/gitlab.rb样子:

########################################
#####        Services Disabled       ###
########################################

nginx['enable'] = false
grafana['enable'] = false
prometheus['enable'] = false
gitlab_rails['auto_migrate'] = false
alertmanager['enable'] = false
gitaly['enable'] = false
gitlab_monitor['enable'] = false
gitlab_workhorse['enable'] = false
nginx['enable'] = false
postgres_exporter['enable'] = false
postgresql['enable'] = false
redis['enable'] = false
redis_exporter['enable'] = false
puma['enable'] = false
gitlab_exporter['enable'] = false

########################################
####              Redis              ###
########################################

## Must be the same in every sentinel node
redis['master_name'] = 'gitlab-redis'

## The same password for Redis authentication you set up for the master node.
redis['master_password'] = 'YOUR_PASSOWORD'

## A list of sentinels with `host` and `port`
gitlab_rails['redis_sentinels'] = [
    {'host' => '10.10.1.34', 'port' => 26379},
    {'host' => '10.10.1.35', 'port' => 26379},
    {'host' => '10.10.1.36', 'port' => 26379},
  ]

#######################################
###              Gitaly             ###
#######################################

git_data_dirs({
  'default' => { 'gitaly_address' => 'tcp://gitaly:8075' },
})
gitlab_rails['gitaly_token'] = 'YOUR_TOKEN'

#######################################
###            Postgres             ###
#######################################
gitlab_rails['db_host'] = '10.10.1.30'
gitlab_rails['db_password'] = 'YOUR_PASSOWORD'
gitlab_rails['db_port'] = '5432'
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'unicode'
gitlab_rails['auto_migrate'] = false

#######################################
###      Sidekiq configuration      ###
#######################################
sidekiq['listen_address'] = "10.10.1.48"

#######################################
###     Monitoring configuration    ###
#######################################
consul['enable'] = true
consul['monitoring_service_discovery'] =  true

consul['configuration'] = {
  bind_addr: '10.10.1.48',
  retry_join: %w(10.10.1.34 10.10.1.35 10.10.1.36)
}

# Set the network addresses that the exporters will listen on
node_exporter['listen_address'] = '10.10.1.48:9100'

# Rails Status for prometheus
gitlab_rails['monitoring_whitelist'] = ['10.10.1.42', '127.0.0.1'] 

Further reading

相关的 Sidekiq 配置:

  1. Extra Sidekiq processes
  2. Using the GitLab-Sidekiq chart
Copyright © 温玉 2021 | 浙ICP备2020032454号 all right reserved,powered by Gitbook该文件修订时间: 2021-03-27 13:48:25
鼓励一下

results matching ""

    No results matching ""