Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
G
gitlab-ce
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Jérome Perrin
gitlab-ce
Commits
92e60372
Commit
92e60372
authored
Oct 29, 2016
by
Gabriel Mazetto
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Fixed documentation and added redis/sentinel roles instruction
parent
1dcbff1c
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
54 additions
and
14 deletions
+54
-14
doc/administration/high_availability/redis.md
doc/administration/high_availability/redis.md
+54
-14
No files found.
doc/administration/high_availability/redis.md
View file @
92e60372
...
...
@@ -235,7 +235,7 @@ In `/etc/gitlab/gitlab.rb`:
## Redis TCP support (will disable UNIX socket transport)
redis
[
'bind'
]
=
'0.0.0.0'
# or specify an IP to bind to a single one
redis
[
'port'
]
=
6379
redis
[
'
requirepass
'
]
=
'redis-password-goes-here'
redis
[
'
password
'
]
=
'redis-password-goes-here'
redis
[
'master_password'
]
=
'redis-password-goes-here'
```
...
...
@@ -249,7 +249,7 @@ with an additional `Slave` section as in the example below:
```
ruby
redis
[
'bind'
]
=
'0.0.0.0'
# or specify an IP to bind to a single one
redis
[
'port'
]
=
6379
redis
[
'
requirepass
'
]
=
'redis-password-goes-here'
redis
[
'
password
'
]
=
'redis-password-goes-here'
redis
[
'master_password'
]
=
'redis-password-goes-here'
## Slave redis instance
...
...
@@ -327,27 +327,25 @@ To setup sentinel, you edit `/etc/gitlab/gitlab.rb` file:
```
ruby
## When you install Sentinel in a separate machine, you need to control which
## other services will be running in it.
Take a look at the following variables
##
and enable or disable whenever it fits your strategy
:
## other services will be running in it.
##
We've simplified the choice using special "roles" settings
:
## Enabled
Redis and Sentinel
services
redis
[
'enable'
]
=
true
sentinel
[
'enable'
]
=
true
## Enabled
Sentinel and Redis Master
services
redis
_sentinel_role
[
'enable'
]
=
true
redis_master_role
[
'enable'
]
=
true
# Disabled all other services
bootstrap
[
'enable'
]
=
false
nginx
[
'enable'
]
=
false
postgresql
[
'enable'
]
=
false
gitlab_rails
[
'enable'
]
=
false
mailroom
[
'enable'
]
=
false
## Enabled Sentinel and Redis Slave services
redis_sentinel_role
[
'enable'
]
=
true
redis_master_role
[
'enable'
]
=
true
## Configure Redis
redis
[
'master_name'
]
=
'gitlab-redis'
# must be the same in every sentinel node
redis
[
'master_ip'
]
=
'10.0.0.1'
# ip of the initial master redis instance
redis
[
'master_port'
]
=
6379
# port of the initial master redis instance
redis
[
'master_password'
]
=
'
your-secure-password
-here'
# the same value defined in redis['password'] in the master instance
redis
[
'master_password'
]
=
'
redis-password-goes
-here'
# the same value defined in redis['password'] in the master instance
## Configure Sentinel
sentinel
[
'bind'
]
=
'0.0.0.0'
# or specify an IP to bind to a single one
# sentinel['port'] = 26379 # uncomment to change default port
## Quorum must reflect the amount of voting sentinels it take to start a failover.
...
...
@@ -388,6 +386,48 @@ sentinel['quorum'] = 2
# sentinel['failover_timeout'] = 60000
```
In the example above we've used
`redis_sentinel_role`
and
`redis_master_role`
which simplify the ammount of configuration changes.
If you want more control, here is what each one sets for you automatically
when enabled:
```
ruby
## Redis Sentinel Role
redis_sentinel_role
[
'enable'
]
=
true
# When Sentinel Role is enabled, the following services are enabled/disabled:
sentinel
[
'enable'
]
=
true
# This others are disabled:
redis
[
'enable'
]
=
false
bootstrap
[
'enable'
]
=
false
nginx
[
'enable'
]
=
false
postgresql
[
'enable'
]
=
false
gitlab_rails
[
'enable'
]
=
false
mailroom
[
'enable'
]
=
false
## Redis master/slave Role:
redis_master_role
[
'enable'
]
=
true
# enable only one of them
redis_slave_role
[
'enable'
]
=
true
# enable only one of them
# When Redis Master or Slave role are enabled, the following services are enabled/disabled:
# (Note that if redis and sentinel roles are combined both services will be enabled)
# When Sentinel Role is enabled, the following services are enabled/disabled:
redis
[
'enable'
]
=
true
# This others are disabled:
sentinel
[
'enable'
]
=
false
bootstrap
[
'enable'
]
=
false
nginx
[
'enable'
]
=
false
postgresql
[
'enable'
]
=
false
gitlab_rails
[
'enable'
]
=
false
mailroom
[
'enable'
]
=
false
# Redis Slave role also change this setting from default 'true' to 'false':
redis
[
'master'
]
=
false
```
---
The final part is to inform the main GitLab application server of the Redis
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment