Kakaretso e Khutšoanyane ea Lipolelo tsa PostgreSQL bakeng sa Kubernetes, Likhetho tsa Rōna le Boiphihlelo

Kakaretso e Khutšoanyane ea Lipolelo tsa PostgreSQL bakeng sa Kubernetes, Likhetho tsa Rōna le Boiphihlelo

Ka ho eketsehileng, likōpo tse joalo li amoheloa ho tsoa ho bareki: "Re e batla joaloka Amazon RDS, empa e theko e tlaase"; "Re e batla joalo ka RDS, empa hohle, litsing life kapa life." Ho kenya ts'ebetsong tharollo e joalo e laoloang ho Kubernetes, re ile ra sheba boemo ba hona joale ba basebetsi ba tummeng ka ho fetisisa bakeng sa PostgreSQL (Stolon, basebetsi ba tsoang Crunchy Data le Zalando) mme re entse khetho ea rona.

Sengoliloeng sena ke boiphihlelo ba rona ka bobeli ho tsoa ponong ea theoretical (tlhahlobo ea tharollo) le ho latela pono e sebetsang (se khethiloeng le se tlileng ho sona). Empa pele, a re hlaloseng hore na litlhoko tse akaretsang tsa phetisetso ea RDS ke life ...

RDS ke eng

Ha batho ba bua ka RDS, boiphihlelong ba rona, ba bolela ts'ebeletso e laoloang ea DBMS e reng:

  1. ho bonolo ho theha;
  2. e na le bokhoni ba ho sebetsa ka linepe le ho hlaphoheloa ho tsona (haholo-holo ka tšehetso ea PITR);
  3. e u lumella ho theha li-topology tsa makhoba a master;
  4. e na le lethathamo le ruileng la lisebelisoa;
  5. e fana ka tlhahlobo ea lichelete le taolo ea basebelisi / phihlello.

Ka kakaretso, mekhoa ea ts'ebetsong ea mosebetsi e ka fapana haholo, empa tsela e nang le maemo a Ansible ha e haufi le rona. (Basebetsi-'moho le 2GIS ba fihletse qeto e tšoanang ka lebaka la teko ea hae theha "Postgres-based Failover Cluster Rapid Deployment Tool".)

Ke basebelisi bao e leng mokhoa o amoheloang ka kakaretso oa ho rarolla mathata a joalo tikolohong ea Kubernetes. Ka lintlha tse ling mabapi le li-database tse sebetsang ka hare ho Kubernetes, molaoli oa theknoloji oa Flant o se a boletse, distol, ho e 'ngoe ea litlaleho tsa hae.

NB: Ho theha basebelisi ba bonolo kapele, re khothaletsa hore o ele hloko lisebelisoa tsa rona tsa Open Source khetla-mosebetsi. U e sebelisa, u ka etsa sena ntle le tsebo ea Go, empa ka mekhoa e tsebahalang haholo bakeng sa batsamaisi ba sistimi: ho Bash, Python, jj.

Ho na le basebelisi ba 'maloa ba tummeng ba K8s bakeng sa PostgreSQL:

  • Stolon;
  • Crunchy Data PostgreSQL Operator;
  • Opereishene ea Zalando Postgres.

A re li hlahlobeng haholoanyane.

Khetho ea opereishene

Ntle le likarolo tsa bohlokoa tse seng li boletsoe ka holimo, rona - joalo ka lienjineri tsa meaho ho Kubernetes - re ne re lebelletse tse latelang ho tsoa ho basebetsi:

  • tsamaisa ho tloha Git le ka Lisebelisoa tse Tloaelehileng;
  • pod-anti-affinity tšehetso;
  • ho kenya kamano ea node kapa khetho ea node;
  • ho beha mamello;
  • ho fumaneha ha likhetho tsa tokiso;
  • mahlale a utloahalang esita le litaelo.

Ntle le ho kena lintlheng tsa ntlha e 'ngoe le e' ngoe (botsa litlhalosong haeba u ntse u e-na le lipotso ka tsona ka mor'a ho bala sengoloa kaofela), ke tla hlokomela ka kakaretso hore li-parameter tsena lia hlokahala bakeng sa tlhaloso e poteletseng ea boitsebahatso ba li-cluster node. ho li odara bakeng sa lits'ebetso tse ikhethileng. Ka tsela ena re ka finyella tekanyo e nepahetseng pakeng tsa ts'ebetso le litšenyehelo.

Hona joale - ho basebetsi ba PostgreSQL ka bobona.

1. Stolon

Stolon ho tsoa k'hamphaning ea Italy ea Sorint.lab ho tlaleho e seng e boletsoe e ne e nkuoa e le mofuta oa maemo har'a basebelisi ba DBMS. Ona ke projeke ea khale: tokollo ea eona ea pele ea sechaba e etsahetse morao koana ka Pulungoana 2015 (!), 'me polokelo ea GitHub e ithorisa ka linaleli tse ka bang 3000 le bafani ba 40+.

Ehlile, Stolon ke mohlala o motle oa boqapi bo nahanang:

Kakaretso e Khutšoanyane ea Lipolelo tsa PostgreSQL bakeng sa Kubernetes, Likhetho tsa Rōna le Boiphihlelo
Sesebelisoa sa opareitara sena se ka fumanoa ka ho qaqileng tlalehong kapa litokomane tsa morero. Ka kakaretso, ho lekane ho bolela hore e ka etsa ntho e 'ngoe le e' ngoe e hlalositsoeng: failover, proxy bakeng sa phihlello ea bareki ba pepeneneng, li-backups ... Ho feta moo, li-proxies li fana ka phihlello ka ts'ebeletso e le 'ngoe ea pheletso - ho fapana le litharollo tse ling tse peli tse boletsoeng ka tlase (li na le lits'ebeletso tse peli bakeng sa ho fihlella. motheo).

Leha ho le joalo, Stolon ha ho Lisebelisoa tsa Tloaelo, ke kahoo e ke keng ea sebelisoa ka tsela e bonolo le e potlakileng - "joaloka mahobe a chesang" - ho theha liketsahalo tsa DBMS ho Kubernetes. Tsamaiso e etsoa ka lisebelisoa stolonctl, thomello - ka chate ea Helm, le tse tloahelehileng li hlalositsoe ho ConfigMap.

Ka lehlakoreng le leng, ho bonahala eka opareitara ha e hlile ha e sebetse (hobane ha e sebelise CRD). Empa ka lehlakoreng le leng, ke sistimi e tenyetsehang e u lumellang hore u hlophise lisebelisoa ho li-K8 ka tsela eo u e batlang.

Ha re akaretsa, ho rona ka borona, ho ne ho bonahala e se mokhoa o motle oa ho qala chate e arohaneng bakeng sa database ka 'ngoe. Kahoo re ile ra qala ho batla mekhoa e meng.

2. Crunchy Data PostgreSQL Operator

Operator ho tswa ho Crunchy Data, mocha e mong oa Leamerika ea qalang, o ne a bonahala e le mokhoa o mong o utloahalang. Nalane ea eona ea sechaba e qala ka tokollo ea pele ka Hlakubele 2017, ho tloha ka nako eo polokelo ea GitHub e amohetse linaleli tse ka tlase ho 1300 le bafani ba 50+. Tokollo ea morao-rao ho tloha ka Loetse e ile ea lekoa ho sebetsa le Kubernetes 1.15-1.18, OpenShift 3.11+ le 4.4+, GKE le VMware Enterprise PKS 1.3+.

Moralo oa Crunchy Data PostgreSQL Operator le ona o kopana le litlhoko tse boletsoeng:

Kakaretso e Khutšoanyane ea Lipolelo tsa PostgreSQL bakeng sa Kubernetes, Likhetho tsa Rōna le Boiphihlelo

Tsamaiso e ka thuso pgo, leha ho le joalo, eona e hlahisa Lisebelisoa tsa Tloaelo bakeng sa Kubernetes. Ka hona, opareitara e re khahlisitse joalo ka basebelisi ba ka bang teng:

  • ho na le taolo ka CRD;
  • taolo e bonolo ea basebelisi (hape ka CRD);
  • kopanyo le dikarolo tse ding Crunchy Data Container Suite - pokello e khethehileng ea litšoantšo tsa setshelo bakeng sa PostgreSQL le lisebelisoa tsa ho sebetsa le eona (ho kenyeletsoa pgBackRest, pgAudit, extensions from contrib, joalo-joalo).

Leha ho le joalo, liteko tsa ho qala ho sebelisa opareitara ho tsoa ho Crunchy Data li senotse mathata a 'maloa:

  • Ho ne ho se na monyetla oa ho mamella - ho fanoa ka nodeSelector feela.
  • Li-pods tse entsoeng e ne e le karolo ea Phatlalatso, ho sa tsotellehe taba ea hore re ne re kenya kopo e hlakileng. Ho fapana le StatefulSets, Deployments ha e khone ho etsa li-disk.

Phoso ea ho qetela e lebisa linakong tse qabolang: tikolohong ea liteko, re khonne ho tsamaisa likopi tse 3 ka disk e le 'ngoe polokelo ea lehae, ka lebaka leo mosebeletsi a ileng a tlaleha hore li-replicas tse 3 li sebetsa (le hoja ho ne ho se joalo).

Tšobotsi e 'ngoe ea opereishene ena ke ho ikopanya ha eona ho itokiselitse le litsamaiso tse fapaneng tse thusang. Ka mohlala, ho bonolo ho kenya pgAdmin le pgBounce, le ho litokomane Grafana le Prometheus tse hlophisitsoeng esale pele li nkuoa. Haufinyane tjena lokolla 4.5.0-beta1 kopanyo e ntlafalitsoeng ka thoko le morero pgMonitor, ka lebaka leo opareitara e fanang ka pono ea pono ea metrics ea PgSQL ka ntle ho lebokose.

Leha ho le joalo, khetho e makatsang ea lisebelisoa tsa Kubernetes e ile ea etsa hore re fumane tharollo e fapaneng.

3. Opereishene ea Zalando Postgres

Lihlahisoa tsa Zalando li tsejoa ho rona ka nako e telele: re na le phihlelo ea ho sebelisa Zalenium 'me, ehlile, re lekile. Patroni ke tharollo ea bona e tsebahalang ea HA bakeng sa PostgreSQL. Mabapi le mokhoa oa k'hamphani oa ho theha Opereishene ea PostgreSQL o ile a bolella e mong oa bangoli ba eona - Alexei Klyukin - moeeng Postgres-Labobedi #5mme re e ratile.

Ena ke tharollo e nyane ka ho fetesisa e boletsoeng sehloohong sena: tokollo ea pele e etsahetse ka Phato 2018. Leha ho le joalo, ho sa tsotellehe palo e nyenyane ea litokollo tse hlophisitsoeng, morero ona o se o le hōle, o se o ntse o feta botumo ba tharollo e tsoang ho Crunchy Data e nang le linaleli tse 1300+ ho GitHub le palo e kholo ea bafani (70+).

"Tlas'a hood" ea opareitara ena, ho sebelisoa litharollo tse lekiloeng ka nako:

  • Patroni le Spilo Bakeng sa ho khanna,
  • WAL-E - bakeng sa li-backups
  • PgBouncer - joalo ka letamo la khokahano.

Mona ke kamoo meralo ea opareitara e tsoang Zalando e hlahisoang ka teng:

Kakaretso e Khutšoanyane ea Lipolelo tsa PostgreSQL bakeng sa Kubernetes, Likhetho tsa Rōna le Boiphihlelo

Opereishene e laoloa ka botlalo ka Lisebelisoa tsa Tloaelo, e iketsetsa StatefulSet ho tsoa lijaneng, e ka fetoloang ka ho kenyelletsa li-sidecars tse fapaneng ho pod. Sena sohle se bohlokoa haholo ha se bapisoa le opareitara ea Crunchy Data.

Kaha re khethile tharollo ho tsoa ho Zalando har'a likhetho tsa 3 tse nkiloeng, tlhaloso e eketsehileng ea bokhoni ba eona e tla hlahisoa ka tlase, hang-hang hammoho le tloaelo ea kopo.

Ikoetlise le Postgres Operator ka Zalando

Ho tsamaisoa ha opereishene ho bonolo haholo: khoasolla tokollo ea morao-rao ho tsoa ho GitHub 'me u sebelise lifaele tsa YAML ho tsoa bukeng. iponahatsa. Ntle le moo, o ka sebelisa hape operatorhub.

Kamora ho kenya, o lokela ho hlokomela li-setting polokelo bakeng sa li-log le li-backups. E etsoa ka ConfigMap postgres-operator sebakeng sa mabitso moo o setang opareitara. Ka li-repositories tse hlophisitsoeng, u ka tsamaisa sehlopha sa hau sa pele sa PostgreSQL.

Ka mohlala, tsamaiso ea rona e tloaelehileng e shebahala tjena:

apiVersion: acid.zalan.do/v1
kind: postgresql
metadata:
 name: staging-db
spec:
 numberOfInstances: 3
 patroni:
   synchronous_mode: true
 postgresql:
   version: "12"
 resources:
   limits:
     cpu: 100m
     memory: 1Gi
   requests:
     cpu: 100m
     memory: 1Gi
 sidecars:
 - env:
   - name: DATA_SOURCE_URI
     value: 127.0.0.1:5432
   - name: DATA_SOURCE_PASS
     valueFrom:
       secretKeyRef:
         key: password
         name: postgres.staging-db.credentials
   - name: DATA_SOURCE_USER
     value: postgres
   image: wrouesnel/postgres_exporter
   name: prometheus-exporter
   resources:
     limits:
       cpu: 500m
       memory: 100Mi
     requests:
       cpu: 100m
       memory: 100Mi
 teamId: staging
 volume:
   size: 2Gi

Pontšo ena e sebelisa sehlopha sa liketsahalo tse 3 tse nang le lehlakore la foromo postgres_exporter, eo ho eona re bokellang metrics ea kopo. Joalokaha u ka bona, ntho e 'ngoe le e' ngoe e bonolo haholo, 'me haeba u lakatsa, u ka etsa palo e sa lekanyetsoang ea lihlopha.

Ke habohlokoa ho ela hloko sebaka sa marang-rang bakeng sa tsamaiso - postgres-operator-ui. E tla le opareitara 'me e u lumella ho theha le ho hlakola lihlopha, hammoho le ho sebetsa ka li-backups tseo opareitara e li etsang.

Kakaretso e Khutšoanyane ea Lipolelo tsa PostgreSQL bakeng sa Kubernetes, Likhetho tsa Rōna le Boiphihlelo
Lethathamo la lihlopha tsa PostgreSQL

Kakaretso e Khutšoanyane ea Lipolelo tsa PostgreSQL bakeng sa Kubernetes, Likhetho tsa Rōna le Boiphihlelo
Tsamaiso ea bekapo

Ntho e 'ngoe e thahasellisang ke tšehetso Lihlopha tsa API. Mochini ona oa iketsetsa likarolo ho PostgreSQL, ho ipapisitsoe le lethathamo la mabitso a basebelisi. Ka mor'a moo, API e u lumella ho khutlisa lethathamo la basebelisi bao mesebetsi e entsoeng ka eona.

Mathata le tharollo

Leha ho le joalo, tšebeliso ea mochine e ile ea senola litšitiso tse 'maloa tsa bohlokoa:

  1. ho hloka tšehetso ea nodeSelector;
  2. ho se khone ho thibela li-backups;
  3. ha o sebelisa ts'ebetso ea ho theha metheo, litokelo tsa kamehla ha li hlahe;
  4. nako le nako ha ho na litokomane tse lekaneng kapa li siiloe ke nako.

Ka lehlohonolo, tse ngata tsa tsona li ka rarolloa. Ha re qale ho tloha qetellong - mathata le litokomane.

Ho ka etsahala hore ebe u tla fumana taba ea hore ha e hlake kamehla hore na u ka ngolisa bekapo joang le ho hokela nkho ea "backup" ho Operator UI. Sena se boletsoe litokomaneng ha li feta, empa tlhaloso ea sebele e teng PR:

  1. o hloka ho etsa lekunutu;
  2. e fetisetse ho opareitara joalo ka parameter pod_environment_secret_name ho CRD ka li-setting tsa opareitara kapa ho ConfigMap (ho ipapisitse le hore na u khetha ho kenya opareitara joang).

Leha ho le joalo, joalokaha ho ile ha etsahala, hona joale sena ha se khonehe. Ke kahoo re bokeletseng mofuta oa hau oa opareitara ka lintlafatso tse ling tsa mokha oa boraro. Ho eketsehileng ka eona - sheba ka tlase.

Haeba u fetisetsa liparamente ho opareitara bakeng sa backup, e leng - wal_s3_bucket le linotlolo tsa phihlello ho AWS S3, ebe eona e tla boloka tsohle: eseng feela metheo ea tlhahiso, empa hape le sethala. E ne e sa re tšoanele.

Tlhalosong ea litekanyetso ho Spilo, e leng sekoahelo sa motheo sa Docker bakeng sa PgSQL ha u sebelisa opereishene, ho ile ha fumaneha hore u ka fetisa parameter. WAL_S3_BUCKET ha e na letho, kahoo e thibela li-backups. Ho feta moo, ke ile ka fumana thabo e khōlō e lokile PR, eo hang-hang re ileng ra e amohela ferekong ea rōna. Hona joale ho bonolo ho lekana ho eketsa enableWALArchiving: false ho sesebelisoa sa sehlopha sa PostgreSQL.

E, ho ne ho ka khoneha ho e etsa ka tsela e fapaneng ka ho tsamaisa basebetsi ba 2: e 'ngoe bakeng sa staging (ntle le li-backups), le ea bobeli bakeng sa tlhahiso. Empa re ile ra khona ho phela ka e le ’ngoe.

Ho lokile, re ithutile mokhoa oa ho fetisetsa phihlello ea S3 ho li-database mme li-backups li ile tsa qala ho kena polokelong. Mokhoa oa ho etsa hore maqephe a bekapo a sebetse ho Operator UI?

Kakaretso e Khutšoanyane ea Lipolelo tsa PostgreSQL bakeng sa Kubernetes, Likhetho tsa Rōna le Boiphihlelo

Ho Operator UI, o tla hloka ho eketsa mefuta e 3:

  • SPILO_S3_BACKUP_BUCKET
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Ka mor'a moo, tsamaiso ea "backup" e tla ba teng, eo molemong oa rona e tla nolofatsa mosebetsi ka ho etsa sethala, e leng se u lumellang ho fana ka lilae tse tsoang tlhahiso moo ntle le mangolo a eketsehileng.

E 'ngoe hape, sebetsa le Teams API le menyetla e mengata ea ho theha database le likarolo tse sebelisang lisebelisoa tsa opareitara li ile tsa bitsoa. Leha ho le joalo, ho hlaha mesebetsi e ne e se na tumello ka ho sa feleng. Ka hona, mosebelisi ea nang le litokelo tsa ho bala ha a khone ho bala litafole tse ncha.

Hobaneng ha ho le joalo? Leha e le ka khoutu ke hlokahala GRANTha li sebelisoe kamehla. Ho na le mekhoa e 2: syncPreparedDatabases и syncDatabases. The syncPreparedDatabases - ho sa tsotellehe taba ea hore karolong eo preparedDatabases ke ho na le boemo defaultRoles и defaultUsers ho theha likarolo, litokelo tsa kamehla ha li sebelisoe. Re mothating oa ho lokisa patch e le hore litokelo tsena li sebelisoe ka tsela e iketsang.

'Me motsotso oa ho qetela oa lintlafatso tse amanang le rona - patchA e eketsang Node Affinity ho StatefulSet e hlahisitsoeng. Hangata bareki ba rona ba khetha ho fokotsa litšenyehelo ka ho sebelisa maemo a teng, ao ho hlakileng hore ha a tšoanelehe ho amohela lits'ebeletso tsa database. Taba ena e ka rarolloa ka mamello, empa boteng ba Node Affinity bo fana ka kholiseho e eketsehileng.

Ho etsahetse eng?

Ka lebaka la ho rarolla mathata a ka holimo, re ile ra ferekana Postgres Operator ho tloha Zalando ho kena polokelo ea haumoo e eang teng ka lipache tse molemo. 'Me bakeng sa boiketlo bo boholo, re ile ra boela ra bokella Setšoantšo sa Docker.

Lethathamo la li-PR tse amoheloang ferekong:

Ho tla ba monate ha sechaba se tšehetsa li-PR tsena e le hore li nyolohe ka mofuta o latelang oa opareitara (1.6).

Bonase! Pale ea katleho ea ho falla ha tlhahiso

Haeba u sebelisa Patroni, tlhahiso e phelang e ka fetisetsoa ho opareitara ka nako e fokolang ea nako.

Spilo e u lumella ho theha lihlopha tse emeng ka har'a polokelo ea S3 ka wal-eha PgSQL binary log e qala ho bolokoa ho S3 ebe e pompeloa ke replica. Empa ho thoe'ng haeba u na le ha e sebelisoang ke Wal-E lits'ebetsong tsa khale? Tharollo ea bothata bona e se e ntse e le teng ho ile ha etsoa tlhahiso setsing.

Ho pheta-pheta ka mokhoa o utloahalang ha PostgreSQL hoa thusa. Leha ho le joalo, re ke ke ra kena lintlheng tsa mokhoa oa ho etsa lingoliloeng le lipeeletso, hobane ... morero oa rona o ile oa hlōleha.

'Nete ke hore database e ne e e-na le litafole tse' maloa tse laetsoeng tse nang le mela e limilione, tseo, ho feta moo, li neng li lula li tsosolosoa le ho tlosoa. Ngoliso e Bonolo с copy_data, ha setšoantšo se secha se kopitsa litaba tsohle ho tsoa ho mong'a sona, se ne se sitoa ho tsamaisana le mong'a sona. Ho kopitsa litaba ho sebelitse beke, empa ha ho mohla ba kileng ba kopana le monghali. Qetellong, e ile ea thusa ho rarolla bothata sehlooho basebetsi-'moho le Avito: o ka fetisetsa data ho sebelisa pg_dump. Ke tla hlalosa mofuta oa rona (o fetotsoeng hanyenyane) oa algorithm ena.

Maikutlo ke hore o ka etsa peeletso e nang le bokooa e tlamelletsoeng ho sekotjana se itseng sa ho ikatisa ebe o lokisa nomoro ea transaction. Ho ne ho e-na le likopi tsa mosebetsi oa tlhahiso. Sena ke sa bohlokoa hobane replica e tla thusa ho theha thotobolo e tsitsitseng mme e tsoelepele ho fumana liphetoho ho tsoa ho monghali.

Litaelo tse latelang tse hlalosang mokhoa oa ho falla li tla sebelisa lintlha tse latelang bakeng sa baamoheli:

  1. mong'a - seva sa mohloli;
  2. replica1 - replica ea ho phallela tlhahisong ea khale;
  3. replica2 - e ncha e utloahalang replica.

Moralo oa ho falla

1. Etsa peeletso ho litafole tsohle ho schema ho wizate public motheo dbname:

psql -h master -d dbname -c "CREATE PUBLICATION dbname FOR ALL TABLES;"

2. Theha sekotjana sa ho ikatisa ho master:

psql -h master -c "select pg_create_logical_replication_slot('repl', 'pgoutput');"

3. Emisa ho ikatisa ho setšoantšo sa khale:

psql -h replica1 -c "select pg_wal_replay_pause();"

4. Fumana nomoro ea transaction ho tsoa ho master:

psql -h master -c "select replay_lsn from pg_stat_replication where client_addr = 'replica1';"

5. Lahla setšoantšong sa khale. Re tla etsa sena ka likhoele tse 'maloa, tse tla thusa ho potlakisa ts'ebetso:

pg_dump -h replica1 --no-publications --no-subscriptions -O -C -F d -j 8 -f dump/ dbname

6. Kenya thotobolo ho seva e ncha:

pg_restore -h replica2 -F d -j 8 -d dbname dump/

7. Ka mor'a ho khoasolla thotobolo, u ka qala ho ikatisetsa ho replica ea ho phallela:

psql -h replica1 -c "select pg_wal_replay_resume();"

7. Etsa peeletso ho setšoantšo se secha se hlakileng:

psql -h replica2 -c "create subscription oldprod connection 'host=replica1 port=5432 user=postgres password=secret dbname=dbname' publication dbname with (enabled = false, create_slot = false, copy_data = false, slot_name='repl');"

8. Fumana oid lipehelo:

psql -h replica2 -d dbname -c "select oid, * from pg_subscription;"

9. A re re e amohetswe oid=1000. Ha re sebeliseng nomoro ea transaction ho ngoliso:

psql -h replica2 -d dbname -c "select pg_replication_origin_advance('pg_1000', 'AA/AAAAAAAA');"

10. Ha re qaleng ho ikatisa:

psql -h replica2 -d dbname -c "alter subscription oldprod enable;"

11. Sheba boemo ba peeletso, phetisetso e lokela ho sebetsa:

psql -h replica2 -d dbname -c "select * from pg_replication_origin_status;"
psql -h master -d dbname -c "select slot_name, restart_lsn, confirmed_flush_lsn from pg_replication_slots;"

12. Ka mor'a hore ho pheta-pheta ho qaloe 'me li-database li hokahantsoe, u ka fetola.

13. Ka mor'a ho thibela ho pheta-pheta, u lokela ho lokisa tatellano. E hlalositsoe hantle sengolong sa wiki.postgresql.org.

Ka lebaka la moralo ona, phetoho e ile ea feta ka tieho e fokolang.

fihlela qeto e

Basebelisi ba Kubernetes ba u lumella ho nolofatsa liketso tse fapaneng ka ho li fokotsa ho theha lisebelisoa tsa K8s. Leha ho le joalo, ha u se u finyeletse othomathike e makatsang ka thuso ea bona, ho bohlokoa ho hopola hore e ka tlisa li-nuances tse 'maloa tse sa lebelloang, kahoo khetha basebelisi ba hau ka bohlale.

Kamora ho hlahloba li-operators tse tharo tse tsebahalang haholo tsa Kubernetes bakeng sa PostgreSQL, re khethile morero ho tsoa ho Zalando. 'Me re ile ra tlameha ho hlola mathata a itseng ka eona, empa sephetho se ne se hlile se le monate, kahoo re rera ho atolosa phihlelo ena ho tse ling tsa PgSQL. Haeba u na le boiphihlelo ba ho sebelisa litharollo tse tšoanang, re tla thabela ho bona lintlha ka litlhaloso!

PES

Bala hape ho blog ea rona:

Source: www.habr.com

Eketsa ka tlhaloso