GitLab தரவுத்தளத்தை வெளிப்புற PostgreSQL க்கு நகர்த்துதல்

அனைவருக்கும் வணக்கம்!

இந்த கட்டுரையில், GitLab தரவுத்தளத்தை GitLab உடன் நிறுவப்பட்ட உள் PostgreSQL இலிருந்து வெளிப்புற PostgreSQL க்கு மாற்றுவோம், இது ஏற்கனவே மற்றொரு சேவையகத்தில் நிறுவப்பட்டுள்ளது.

GitLab தரவுத்தளத்தை வெளிப்புற PostgreSQL க்கு நகர்த்துதல்

குறிப்பு
அனைத்து செயல்களும் CentOS 7.7.1908, PostgreSQL 12 மற்றும் GitLab 12.4.2-ee.0 ஆகியவற்றில் வேலை செய்ய உத்தரவாதம் அளிக்கப்படுகிறது.

ஆரம்ப தயாரிப்பு

மூன்று விஷயங்களை முன்கூட்டியே செய்வோம்:

1. PostgreSQL சேவையகத்தில், PostgreSQL போர்ட் 5432/TCPக்கு உள்வரும் இணைப்புகளை அனுமதிக்கும் ஃபயர்வாலில் ஒரு விதியைச் சேர்க்கவும்.

என்னுடைய வழக்கில்:

firewall-cmd --add-service=postgresql --zone=internal --permanent
success
firewall-cmd --reload
success

2. அதே இடத்தில், ஆனால் postgresql.conf கோப்பில், பிணைய இடைமுகத்தை வெளியில் இருந்து உள்வரும் இணைப்புகளை ஏற்க அனுமதிக்கவும். postgresql.conf கோப்பைத் திறந்து, கருத்துரையிடப்பட்ட வரியைக் கண்டறியவும் "#listen_addresses = 'localhost'" மற்றும் அதன் கீழ் கீழே ஒரு வரியைச் சேர்க்கவும். எங்கே - 10.0.0.2, உங்கள் இடைமுகத்தின் முகவரி.

என்னுடைய வழக்கில்:

vi /var/lib/pgsql/12/data/postgresql.conf
# - Connection Settings -

#listen_addresses = 'localhost'         # what IP address(es) to listen on;
listen_addresses = 'localhost, 10.0.0.2'
                                        # comma-separated list of addresses;

3. GitLab சேவையகம் வெளிப்புற தரவுத்தளத்துடன் இணைக்கப்படுவதால், pg_hba.conf கோப்பில் உள்ள PostgreSQL சேவையகத்தில் இது அனுமதிக்கப்பட வேண்டும். எனது GitLab சேவையக முகவரி 10.0.0.4.

pg_hba.conf கோப்பைத் திறந்து அதில் வரியைச் சேர்ப்போம்:

host    all             gitlab               10.0.0.4/24             md5

இது இப்படி இருக்கும்:

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             postgres                                     md5

# IPv4 local connections:
host    all             postgres             127.0.0.1/32            md5
host    all             gitlab               10.0.0.4/24             md5

இறுதியாக, postgresql சேவையை மறுதொடக்கம் செய்கிறோம்:

systemctl restart postgresql-12.service

GitLab தரவுத்தளத்தை ஏற்றுமதி செய்கிறது

GitLab சேவையகத்தில் தரவுத்தள காப்புப்பிரதியை செய்வோம்:

sudo -u gitlab-psql /opt/gitlab/embedded/bin/pg_dumpall -U gitlab-psql --host=/var/opt/gitlab/postgresql > /tmp/internal-gitlab.sql

காப்புப்பிரதி /tmp இல் தோன்றியது:

ls -lh
total 836K
-rw-r--r--. 1 root root 836K Nov 18 12:59 internal-gitlab.sql

இந்த நகலை PostgreSQL சேவையகத்திற்கு நகலெடுப்போம்:

scp /tmp/internal-gitlab.sql 10.0.0.2:/tmp/
internal-gitlab.sql                                                                               100%  835KB  50.0MB/s   00:00

PostgreSQL இல் "internal-gitlab.sql" ஐ இறக்குமதி செய்கிறது

PostgreSQL இல் தரவுத்தளத்தை இறக்குமதி செய்யவும்:

sudo -u postgres psql -f /tmp/internal-gitlab.sql

தரவுத்தளம் இப்போது PostgreSQL இல் உள்ளதா எனச் சரிபார்க்கவும்:

sudo -u postgres psql -l

பின்வரும் வரி தோன்ற வேண்டும்:

gitlabhq_production | gitlab   | UTF8     | en_US.UTF-8 | en_US.UTF-8 |

GitLab ஐ கட்டமைக்கிறது

PostgreSQL இல் தரவுத்தளத்தை இறக்குமதி செய்த பிறகு, ஒரு gitlab பயனர் உருவாக்கப்பட்டார். இந்த பயனரின் கடவுச்சொல்லை மாற்ற வேண்டும்.

கடவுச்சொல்லை மாற்றுதல்:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ПАРОЛЬ' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

பின்னர், GitLab சேவையகத்தில், /etc/gitlab/gitlab.rb உள்ளமைவு கோப்பில், வெளிப்புற PostgreSQL இன் அனைத்து தரவையும் குறிப்பிடுவோம்.

gitlab.rb கோப்பின் காப்பு பிரதியை உருவாக்குவோம்:

cp /etc/gitlab/gitlab.rb /etc/gitlab/gitlab.rb.orig

இப்போது இந்த வரிகளை gitlab.rb கோப்பின் முடிவில் சேர்க்கவும்:

# Отключить встроенный PostgreSQL.
postgresql['enable'] = false

# Данные для подключения к внешней базе. Указывайте свои.
gitlab_rails['db_adapter'] = 'postgresql'
gitlab_rails['db_encoding'] = 'utf8'
gitlab_rails['db_host'] = '10.0.0.2'
gitlab_rails['db_port'] = 5432
gitlab_rails['db_database'] = "gitlabhq_production"
gitlab_rails['db_username'] = 'gitlab'
gitlab_rails['db_password'] = '******'

/etc/gitlab/gitlab.rb கோப்பைச் சேமித்து, GitLab ஐ மீண்டும் கட்டமைக்கவும்:

gitlab-ctl reconfigure && gitlab-ctl restart

அவ்வளவுதான் :)

பெரிய வேண்டுகோள். மைனஸ் போட்டால் அதற்கான காரணத்தை கமெண்ட்டில் எழுதுங்கள்.

ஆதாரம்: www.habr.com

கருத்தைச் சேர்