Uhamishaji wa hifadhidata ya GitLab hadi PostgreSQL ya nje

Hello kila mtu!

Katika nakala hii, tutahamisha hifadhidata ya GitLab kutoka kwa PostgreSQL ya ndani, ambayo imewekwa na GitLab, hadi PostgreSQL ya nje, ambayo tayari imewekwa kwenye seva nyingine.

Uhamishaji wa hifadhidata ya GitLab hadi PostgreSQL ya nje

NOTE
Vitendo vyote vimehakikishiwa kufanya kazi kwenye CentOS 7.7.1908, PostgreSQL 12 na GitLab 12.4.2-ee.0.

Maandalizi ya awali

Wacha tufanye mambo matatu mapema:

1. Kwenye seva ya PostgreSQL, ongeza sheria kwenye ngome inayoruhusu miunganisho inayoingia kwenye mlango wa PostgreSQL 5432/TCP.

Katika kesi yangu:

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

2. Katika sehemu moja, lakini katika faili ya postgresql.conf, ruhusu kiolesura cha mtandao kukubali miunganisho inayoingia kutoka nje. Fungua faili ya postgresql.conf, pata mstari uliotolewa maoni "#sikiliza_anwani = 'mwenyeji wa ndani'" na chini yake ongeza mstari kama hapa chini. Ambapo - 10.0.0.2, anwani ya kiolesura chako.

Katika kesi yangu:

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. Kwa kuwa seva ya GitLab itaunganishwa kwenye hifadhidata ya nje, hii lazima iruhusiwe kwenye seva ya PostgreSQL katika faili ya pg_hba.conf. Anwani yangu ya seva ya GitLab ni 10.0.0.4.

Wacha tufungue faili ya pg_hba.conf na tuongeze laini hapo:

host    all             gitlab               10.0.0.4/24             md5

Itakuwa kama hii:

# 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

Na mwishowe, tunaanza tena huduma ya postgresql:

systemctl restart postgresql-12.service

Inahamisha hifadhidata ya GitLab

Wacha tufanye nakala rudufu kwenye seva ya GitLab:

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

Hifadhi rudufu ilionekana katika /tmp:

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

Wacha tunakili nakala hii kwa seva ya PostgreSQL:

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

Kuingiza "internal-gitlab.sql" kwenye PostgreSQL

Ingiza hifadhidata kwenye PostgreSQL:

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

Angalia kuwa hifadhidata sasa iko kwenye PostgreSQL:

sudo -u postgres psql -l

Mstari ufuatao unapaswa kuonekana:

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

Inasanidi GitLab

Baada ya kuingiza hifadhidata kwenye PostgreSQL, mtumiaji wa gitlab aliundwa. Unahitaji kubadilisha nenosiri la mtumiaji huyu.

Kubadilisha nenosiri:

sudo -u postgres psql -c "ALTER USER gitlab ENCRYPTED PASSWORD 'ΠŸΠΠ ΠžΠ›Π¬' VALID UNTIL 'infinity';"
Password for user postgres:
ALTER ROLE

Kisha, kwenye seva ya GitLab, katika faili ya usanidi /etc/gitlab/gitlab.rb, tutaonyesha data zote za PostgreSQL ya nje.

Wacha tutengeneze nakala rudufu ya faili ya gitlab.rb:

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

Sasa ongeza mistari hii hadi mwisho wa faili ya 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'] = '******'

Hifadhi faili /etc/gitlab/gitlab.rb na upange upya GitLab:

gitlab-ctl reconfigure && gitlab-ctl restart

Ni hayo tu :)

Ombi kubwa. Ikiwa utaweka minus, andika sababu katika maoni.

Chanzo: mapenzi.com

Kuongeza maoni