Kusamuka kwa database ya GitLab kupita ku PostgreSQL yakunja

Hello aliyense!

M'nkhaniyi, tisuntha nkhokwe ya GitLab kuchokera mkati mwa PostgreSQL, yomwe imayikidwa ndi GitLab, kupita ku PostgreSQL yakunja, yomwe yaikidwa kale pa seva ina.

Kusamuka kwa database ya GitLab kupita ku PostgreSQL yakunja

Zindikirani
Zochita zonse ndizotsimikizika kuti zigwira ntchito pa CentOS 7.7.1908, PostgreSQL 12 ndi GitLab 12.4.2-ee.0.

Kukonzekera koyambirira

Tiyeni tichitetu zinthu zitatu:

1. Pa seva ya PostgreSQL, yonjezerani lamulo ku firewall yomwe imalola malumikizano obwera ku PostgreSQL port 5432/TCP.

Kwa ine:

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

2. Pamalo omwewo, koma mu fayilo ya postgresql.conf, lolani mawonekedwe a netiweki kuti avomereze kugwirizana komwe kumachokera kunja. Tsegulani fayilo ya postgresql.conf, pezani mzere womwe waperekedwawo "#mverani_address = 'localhost'"ndipo pansi pake onjezerani mzere monga pansipa. Kumene - 10.0.0.2, adilesi ya mawonekedwe anu.

Kwa ine:

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. Popeza seva ya GitLab idzalumikizana ndi database yakunja, izi ziyenera kuloledwa pa seva ya PostgreSQL mu fayilo ya pg_hba.conf. Adilesi yanga ya seva ya GitLab ndi 10.0.0.4.

Tiyeni titsegule fayilo ya pg_hba.conf ndikuwonjezera mzere pamenepo:

host    all             gitlab               10.0.0.4/24             md5

Zidzawoneka motere:

# 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

Ndipo pomaliza, timayambiranso ntchito ya postgresql:

systemctl restart postgresql-12.service

Kutumiza kunja database ya GitLab

Tiyeni tisunge zosunga zobwezeretsera pa 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

Zosunga zobwezeretsera zidawonekera mu /tmp:

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

Tiyeni tikopere bukuli ku seva ya PostgreSQL:

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

Kulowetsa "internal-gitlab.sql" mu PostgreSQL

Lowetsani database mu PostgreSQL:

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

Onani kuti nkhokwe tsopano ili mu PostgreSQL:

sudo -u postgres psql -l

Mzere wotsatira uyenera kuwoneka:

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

Kukonza GitLab

Pambuyo potumiza nkhokwe ku PostgreSQL, wogwiritsa ntchito gitlab adapangidwa. Muyenera kusintha mawu achinsinsi a munthuyu.

Kusintha mawu achinsinsi:

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

Ndiye, pa seva ya GitLab, mu fayilo yokonzekera /etc/gitlab/gitlab.rb, tidzasonyeza deta yonse ya PostgreSQL yakunja.

Tiyeni tipange zosunga zobwezeretsera fayilo ya gitlab.rb:

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

Tsopano onjezani mizere iyi kumapeto kwa fayilo 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'] = '******'

Sungani fayilo /etc/gitlab/gitlab.rb ndikusinthanso GitLab:

gitlab-ctl reconfigure && gitlab-ctl restart

Ndizomwezo :)

Pempho lalikulu. Ngati muyika minus, lembani chifukwa mu ndemanga.

Source: www.habr.com

Kuwonjezera ndemanga