Ose Va'aiga Aotelega o Fa'amatalaga PostgreSQL mo Kubernetes, O Tatou Filifiliga ma le Aafiaga

Ose Va'aiga Aotelega o Fa'amatalaga PostgreSQL mo Kubernetes, O Tatou Filifiliga ma le Aafiaga

Faʻateleina, o loʻo maua e tagata faʻatau talosaga nei: "Matou te mananaʻo e pei o Amazon RDS, ae taugofie"; "Matou te mananaʻo e pei o le RDS, ae i soʻo se mea, i soʻo se atinaʻe." Ina ia faʻatinoina se faʻafitauli faʻatautaia i luga o Kubernetes, na matou vaʻavaʻai i le tulaga o loʻo i ai nei o tagata sili ona lauiloa mo PostgreSQL (Stolon, faʻatautaia mai Crunchy Data ma Zalando) ma faia la matou filifiliga.

O lenei tusiga o le poto masani lea na matou mauaina uma mai se manatu faʻapitoa (toe iloiloga o fofo) ma mai se itu aoga (o le a le mea na filifilia ma le mea na maua mai ai). Ae muamua, seʻi o tatou fuafua po o le a le manaʻoga lautele mo se sui gafatia mo RDS ...

O le a le RDS

Pe a talanoa tagata e uiga i le RDS, i lo matou poto masani, o lona uiga o se auaunaga DBMS pulea e:

  1. faigofie ona fetuutuunai;
  2. ei ai le tomai e galue ai ma ata ma toe faʻaleleia mai ia mea (sili atu ma le lagolago PITR);
  3. faʻatagaina oe e fatuina topologies matai-pologa;
  4. ei ai se lisi mauoa o fa'aopoopoga;
  5. tu'uina atu le su'etusi ma le fa'aoga/pulega avanoa.

I se tulaga lautele, o auala e faʻatino ai le galuega o loʻo i ai e mafai ona matua ese lava, ae o le ala e iai le Ansible faʻamaonia e le latalata ia i tatou. (O uo mai le 2GIS na oʻo mai i se faʻaiʻuga tutusa o se taunuuga lana taumafaiga fatu "se meafaigaluega mo le faʻapipiʻiina vave o se faʻapipiʻi failover faʻavae Postgres.")

O tagata fa'atino ose auala masani mo le foia o fa'afitauli fa'apena i le Kubernetes ecosystem. O le faʻatonu faʻapitoa o le "Flanta" ua uma ona talanoa atili e uiga ia i latou e faʻatatau i faʻamaumauga na faʻalauiloaina i totonu o Kubernetes. distol, i o se tasi o ana lipoti.

NB: Ina ia vave faia ni fa'agaioiga faigofie, matou te fautuaina le gauai atu i la matou Open Source aoga tagata fai atigi. I le faʻaaogaina, e mafai ona e faia lenei mea e aunoa ma le iloa o le Go, ae i auala e sili atu ona masani ai pulega faʻapitoa: i Bash, Python, ma isi.

O loʻo i ai le tele o faʻasalalauga K8s lauiloa mo PostgreSQL:

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

Sei o tatou vaai toto'a ia i latou.

Filifiliga fa'afoe

I le faaopoopo atu i vaega taua ua uma ona taʻua i luga, matou - o Kubernetes infrastructure operations engineers - na faʻamoemoeina foi mea nei mai le au faʻatautaia:

  • fa'apipi'i mai Git ma fa'atasi Punaoa Faaleaganuu;
  • pod anti-affinity lagolago;
  • fa'apipi'i le node affinity po'o le filifili node;
  • fa'apipi'i o fa'apalepale;
  • maua o tomai fa'alogo;
  • tekinolosi malamalama ma e oo lava i poloaiga.

A aunoa ma le alu i faʻamatalaga i luga o manatu taʻitasi (fesili i faʻamatalaga pe o iai pea au fesili e uiga ia i latou pe a uma ona faitau le tusiga atoa), o le a ou matauina i se tulaga lautele o nei taʻiala e manaʻomia e faʻamatala saʻo ai le faʻapitoa o nodes fuifui ina ia mafai ai. fa'atonu i latou mo talosaga fa'apitoa. O le auala lea e mafai ai ona tatou ausia le paleni sili ona lelei i tulaga o le faʻatinoga ma le tau.

Sei o tatou agai atu i le PostgreSQL operators lava ia.

1. Stolon

Stolon mai le kamupani Italia Sorint.lab i totonu ua uma ona ta'ua lipoti na manatu o se ituaiga tulaga i totonu o tagata fa'afoe mo DBMS. O se galuega tuai tele lenei: o lona uluai faʻasalalauga faʻasalalau na faia i tua ia Novema 2015(!), Ma o le GitHub repository e faʻaalia toeitiiti 3000 fetu ma 40+ tagata fai sao.

O le mea moni, o Stolon o se faʻataʻitaʻiga sili ona lelei o le fausaga faʻapitoa:

Ose Va'aiga Aotelega o Fa'amatalaga PostgreSQL mo Kubernetes, O Tatou Filifiliga ma le Aafiaga
O le masini a lenei tagata fa'afoe e mafai ona maua i auiliiliga i le lipoti poʻo pepa o galuega faatino. I se tulaga lautele, ua lava e fai atu e mafai ona faia mea uma o loʻo faʻamatalaina: failover, sui mo le faʻaogaina manino o tagata o tausia, faʻamaumauga ... E le gata i lea, o sui e tuʻuina atu avanoa e ala i le tasi auaunaga pito i tua - e le pei o isi fofo e lua o loʻo talanoaina i lalo (e tofu i latou ma auaunaga e lua mo fa'avae avanoa).

Ae peitai, Stolon leai ni Punaoa Fa'ale-aganu'u, o le mea lea e le mafai ai ona faʻapipiʻiina i se auala e faigofie ma vave - "pei o keke vevela" - e fatu ai faʻataʻitaʻiga DBMS i Kubernetes. O le pulega e faia e ala i le aoga stolonctl, fa'apipi'i e faia i le siata Helm, ma o aga masani e fa'amatala ma fa'amaoti i le ConfigMap.

I le tasi itu, e foliga mai o le tagata faʻapipiʻi e le o se tagata faʻatautaia (pe a uma, e le faʻaaogaina le CRD). Ae i le isi itu, o se faiga fetuutuunai e mafai ai e oe ona faʻapipiʻi punaoa i K8s pe a e manaʻo e fetaui.

I se aotelega, mo i matou lava ia e foliga mai e le sili ona lelei le fatuina o se siata eseese mo faʻamaumauga taʻitasi. O le mea lea, na amata ai ona matou suʻeina isi mea.

2. Crunchy Data PostgreSQL Operator

Fa'atonu mai le Crunchy Data, o se amataga Amerika talavou, na foliga mai o se filifiliga talafeagai. O lona talafaasolopito lautele e amata i le faʻasalalauga muamua ia Mati 2017, talu mai lena taimi na maua ai e le GitHub repository i lalo ifo o le 1300 fetu ma le 50+ tagata fai sao. O le faʻasalalauga lata mai ia Setema na faʻataʻitaʻiina e galulue ma Kubernetes 1.15-1.18, OpenShift 3.11+ ma 4.4+, GKE ma VMware Enterprise PKS 1.3+.

O le fausaga o le Crunchy Data PostgreSQL Operator e faʻamalieina foi manaʻoga ua taʻua:

Ose Va'aiga Aotelega o Fa'amatalaga PostgreSQL mo Kubernetes, O Tatou Filifiliga ma le Aafiaga

O le pulega e faia e ala i le aoga pgo, ae ui i lea, e faʻatupuina Punaoa Faʻapitoa mo Kubernetes. O le mea lea, na faʻamalieina ai i matou e le tagata faʻatautaia o ni tagata faʻaogaina:

  • o lo'o iai le fa'atonuga e ala i le CRD;
  • pulega fa'aoga faigofie (fa'apea fo'i ma le CRD);
  • tu'ufa'atasiga ma isi vaega Crunchy Data Container Suite - o se aoina faʻapitoa o ata atigipusa mo PostgreSQL ma mea aoga mo le galulue faʻatasi ai (e aofia ai le pgBackRest, pgAudit, faʻaopoopoga mai le saofaga, ma isi).

Ae ui i lea, o taumafaiga e amata faʻaaoga le tagata faʻaoga mai Crunchy Data na faʻaalia ai le tele o faʻafitauli:

  • E leai se avanoa e talia ai - na'o le nodeSelector e tu'uina atu.
  • O pusa na faia o se vaega o le Fa'atinoina, e ui lava i le mea moni na matou fa'aogaina se talosaga fa'apitoa. E le pei o StatefulSets, e le mafai e Deployments ona faia ni tisiki.

O le toe faʻafoʻi mulimuli e taʻitaʻia ai taimi malie: i luga o le suʻega suʻega na mafai ai ona matou faʻatautaia 3 kopi ma le tasi tisiki teuina i le lotoifale, ma mafua ai ona lipotia e le tagata faʻatautaia e 3 kopi o loʻo galue (e ui lava e leai).

O le isi vaega o lenei tagata fa'afoe o lona tu'ufa'atasiga fa'atasi ma faiga fa'aausilali eseese. Mo se faʻataʻitaʻiga, e faigofie ona faʻapipiʻi le pgAdmin ma le pgBounce, ma totonu fa'amaumauga O loʻo mafaufauina le Grafana ma le Prometheus muamua. Talu ai nei tatala 4.5.0-beta1 O le fa'aleleia atili o le tu'ufa'atasia ma le poloketi o lo'o ta'ua eseese pgMonitor, faʻafetai lea e tuʻuina atu e le faʻalapotopotoga se faʻaaliga manino o PgSQL metrics mai le pusa.

Ae ui i lea, o le filifiliga uiga ese a Kubernetes-fausia punaoa na taʻitaʻia ai i matou i le manaʻoga e suʻe se isi fofo.

3. Zalando Postgres Operator

Ua leva ona matou iloa oloa a Zalando: matou te maua le poto masani i le faʻaaogaina o le Zalenium ma, ioe, na matou taumafai Patroni o la latou tali lauiloa HA mo PostgreSQL. E uiga i le faiga a le kamupani i le fausiaina Fa'atonu Fa'atonu o se tasi o ona tusitala, Alexey Klyukin, fai mai i luga o le ea Postgres-Aso Lua #5, ma sa matou fiafia i ai.

O le fofo aupito itiiti lea na talanoaina i le tusiga: o le faʻasalalauga muamua na faia ia Aokuso 2018. Ae ui i lea, e tusa lava pe laʻititi le numera o faʻasalalauga aloaia, o le poloketi ua oʻo mai i se auala umi, ua sili atu i le lauiloa o le fofo mai le Crunchy Data ma le 1300+ fetu i GitHub ma le numera maualuga o tagata fai sao (70+).

"I lalo o le pulou" o loʻo faʻaogaina e lenei tagata faʻatautaia fofo faʻataʻitaʻi taimi:

  • Patroni ma Spilo Mo le avetaavale,
  • WAL-E - mo fa'amaumauga,
  • PgBouncer - e pei o se vaitaele fesoʻotaʻiga.

O le auala lea e faʻaalia ai le fausaga faʻapitoa mai Zalando:

Ose Va'aiga Aotelega o Fa'amatalaga PostgreSQL mo Kubernetes, O Tatou Filifiliga ma le Aafiaga

O lo'o fa'atautaia atoatoa le fa'afoe e ala i Punaoa Fa'asinomaga, e otometi lava ona fatuina se StatefulSet mai koneteina, lea e mafai ona fa'avasegaina e ala i le fa'aopoopoina o ta'avale eseese i le pod. O nei mea uma o se avanoa taua pe a faʻatusatusa i le tagata faʻatautaia mai Crunchy Data.

Talu ai na matou filifilia le fofo mai ia Zalando i totonu o le 3 filifiliga o loʻo iloiloina, o se faʻamatalaga atili o ona gafatia o le a tuʻuina atu i lalo, faʻatasi ai ma le faʻatinoga o le talosaga.

Faataitai ma Postgres Operator mai Zalando

E faigofie tele le faʻaogaina o le tagata faigaluega: naʻo le downloadina o le faʻasalalauga o loʻo iai nei mai le GitHub ma faʻaoga faila YAML mai le lisi faʻaaliga. I le isi itu, e mafai foi ona e faʻaaogaina operatorhub.

A maeʻa faʻapipiʻi, e tatau ona e popole i le faʻatulagaina teuina mo ogalaau ma faaleoleo. E faia lenei mea ile ConfigMap postgres-operator i le igoa avanoa na e faʻapipiʻi ai le faʻaoga. A maeʻa ona faʻapipiʻi fale teu, e mafai ona e faʻapipiʻi lau muamua PostgreSQL cluster.

Mo se faʻataʻitaʻiga, o la matou faʻataʻitaʻiga masani e pei o lenei:

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

O lenei fa'aaliga e fa'apipi'i ai se fuifui o 3 fa'ata'ita'iga fa'atasi ai ma se ta'avale i le fomu postgres_exporter, lea matou te ave ai fua faatatau o talosaga. E pei ona mafai ona e vaʻai, e matua faigofie lava mea uma, ma afai e te manaʻo ai, e mafai ona e fatuina se numera le faʻatapulaʻaina o fuifui.

E aoga le gauai atu i ai upegatafa'ilagi pulega laulau - postgres-operator-ui. E sau ma le tagata faʻapipiʻi ma faʻatagaina oe e fatuina ma tape fuifui, faʻapea foʻi ma le galue i faʻamaumauga na faia e le tagata faʻapipiʻi.

Ose Va'aiga Aotelega o Fa'amatalaga PostgreSQL mo Kubernetes, O Tatou Filifiliga ma le Aafiaga
Lisi o vaega PostgreSQL

Ose Va'aiga Aotelega o Fa'amatalaga PostgreSQL mo Kubernetes, O Tatou Filifiliga ma le Aafiaga
Pulega faaleoleo

O le isi mea manaia o le lagolago Au API. O lenei masini e otometi lava ona fatuina matafaioi i PostgreSQL, e fa'avae i luga o le lisi o igoa fa'aigoa. Ona fa'atagaina lea e le API e toe fa'afo'i mai se lisi o tagata fa'aoga e otometi lava ona fa'atupuina matafaioi.

Faafitauli ma fofo

Ae ui i lea, o le faʻaaogaina o le tagata faʻatautaia na faʻaalia ai ni faʻaletonu taua:

  1. leai se lagolago nodeSelector;
  2. le mafai ona fa'agata fa'amaumauga;
  3. pe a faʻaaogaina le galuega faʻavae faʻamaumauga, e le faʻaalia avanoa faʻaletonu;
  4. O nisi taimi e misi pe ua tuai fo'i fa'amaumauga.

O le mea e lelei ai, o le tele o ia mea e mafai ona foia. Tatou amata mai le faaiuga - faafitauli i fa'amaumauga.

E foliga mai, o le ae fetaiai ma le mea moni e le o manino i taimi uma pe faʻafefea ona resitalaina se faʻamaumauga ma pe faʻafefea ona faʻafesoʻotaʻi le pakete faʻamau i le Operator UI. O faʻamaumauga e talanoa e uiga i lenei mea i le pasi, ae o le faʻamatalaga moni o loʻo i totonu PR:

  1. e tatau ona fai se mealilo;
  2. pasi atu i le tagata fa'afoe e fai ma parakalafa pod_environment_secret_name i le CRD faʻatasi ai ma faʻalapotopotoga faʻapipiʻi poʻo i le ConfigMap (faʻalagolago i le auala e te filifili ai e faʻapipiʻi le operator).

Ae ui i lea, e pei ona aliali mai, o le taimi nei e le mafai. O le mea lena na matou aoina ai lau lomiga o le tagata fa'afoe fa'atasi ai ma nisi atina'e fa'aopoopo lona tolu. Mo nisi fa'amatalaga e uiga i ai, va'ai i lalo.

Afai e te pasi atu faʻamaufaʻailoga mo le faʻamaumauga i le tagata faʻatautaia, o lona uiga - wal_s3_bucket ma avanoa ki i le AWS S3, ona sosoo ai lea o le a faaleoleo mea uma: e le gata i faʻavae i le gaosiga, ae faʻapea foʻi le faʻatulagaina. E le'i fetaui lea ma i matou.

I le faʻamatalaga o faʻamaufaʻailoga mo Spilo, o le faʻapipiʻi Docker autu mo PgSQL pe a faʻaaogaina le tagata faʻaoga, na iʻu mai: e mafai ona e pasia se parakalafa WAL_S3_BUCKET gaogao, ma fa'agata ai fa'amaumauga. E lē gata i lea, na ou maua i le olioli tele sauni PR, lea na matou talia loa i la matou tui. O lea na'o lou mana'omia e fa'aopoopo enableWALArchiving: false i se PostgreSQL fa'aputuga punaoa.

Ioe, sa i ai se avanoa e fai ese ai e ala i le faʻatinoina o le 2 faʻatautaia: tasi mo le faʻatulagaina (e aunoa ma se faʻamaumauga), ma le lona lua mo le gaosiga. Ae na mafai ona matou faia se tasi.

Lelei, na matou aʻoaʻoina pe faʻafefea ona faʻafeiloaʻi avanoa i faʻamaumauga mo S3 ma faʻapipiʻi na amata ona maua i le teuina. E faʻafefea ona faʻaogaina itulau faʻasao ile Operator UI?

Ose Va'aiga Aotelega o Fa'amatalaga PostgreSQL mo Kubernetes, O Tatou Filifiliga ma le Aafiaga

E te manaʻomia faʻaopoopo 3 fesuiaiga i le Operator UI:

  • SPILO_S3_BACKUP_BUCKET
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

A maeʻa lenei mea, o le a avanoa le puleaina o faʻamaumauga, lea i la matou tulaga o le a faafaigofieina ai le galuega ma le faʻatulagaina, faʻatagaina i matou e tuʻuina atu fasi pepa mai le gaosiga iina e aunoa ma ni tusitusiga faaopoopo.

O le isi fa'amanuiaga o le galuega ma le Teams API ma le tele o avanoa mo le fausiaina o fa'amaumauga ma matafaioi e fa'aaoga ai meafaigaluega fa'aoga. Ae peitai, na faia o matafaioi e leai ni aia tatau ona o le faaletonu. E tusa ai, e le mafai e se tagata fa'aoga ona iai aia tatau ona faitau laulau fou.

Aisea ua faapena ai? E ui i le mea moni e faapea i le code o mea e tatau ai GRANT, e le fa'aaogaina i taimi uma. E 2 auala: syncPreparedDatabases и syncDatabases. le syncPreparedDatabases - e ui lava i le mea moni e faapea i le vaega preparedDatabases o e iai le tulaga defaultRoles и defaultUsers e fai ai matafaioi, e le fa'aaogaina aiā tatau. O loʻo matou i ai i le faagasologa o le sauniaina o se patch ina ia otometi le faʻaaogaina o nei aia tatau.

Ma o le vaega mulimuli i faʻaleleia e talafeagai ia i matou - patch, lea e faʻaopoopoina le Node Affinity i le StatefulSet na faia. E masani ona manaʻo a matou tagata faʻatau e faʻaitiitia tau e ala i le faʻaogaina o faʻataʻitaʻiga, ma e manino lava e le aoga le talimalo i auaunaga faʻamaumauga. O lenei mataupu e mafai ona foia e ala i le faapalepale, ae o le i ai o le Node Affinity e maua ai le talitonuga sili atu.

O le a le mea ua tupu?

Faʻavae i luga o taunuʻuga o le foia o faʻafitauli o loʻo i luga, matou te faʻaogaina le Postgres Operator mai Zalando i totonu lau fale teu oloa, i le mea e aoina ai ma ni mea aoga faapena. Ma mo le sili atu le faigofie, sa matou aoina foi Ata Docker.

Lisi o PRs na talia i le tui:

O le a lelei pe a lagolagoina e le alalafaga nei PRs ina ia latou oʻo i luga ma le isi lomiga o le faʻatautaia (1.6).

Ponesi! Tala fa'amanuiaina o femalagaiga o gaosiga

Afai e te faʻaaogaina le Patroni, e mafai ona faʻafeiloaʻi le gaosiga ola i le tagata faʻatautaia ma sina taimi faʻaletonu.

Spilo fa'atagaina oe e fai fuifui fa'atalitali e ala ile S3 teuina ma Wal-E, pe a muamua teuina le PgSQL binary log i le S3 ona pamu lea i fafo e le kopi. Ae o le a le mea e fai pe a iai fa'aaogaina e Wal-E i luga o atina'e tuai? O le fofo o lenei faafitauli ua leva sa fautuaina i luga o le nofoaga.

PostgreSQL fa'asologa talafeagai e sau i le laveai. Ae ui i lea, matou te le o faʻamatalaga auiliili pe faʻafefea ona faia ni faʻasalalauga ma saofaga, aua ... o la matou fuafuaga o se fiasco.

O le mea moni o le database sa i ai le tele o laulau faʻapipiʻiina ma le faitau miliona o laina, lea, e le gata i lea, na faʻatumu pea ma tape. Fa'asoa faigofie с copy_data, pe a kopiina e le kopi fou mea uma mai le matai, e le mafai lava ona fetaui ma le matai. O le kopiina o mea na galue mo le vaiaso, ae e leʻi maua lava e le matai. I le faaiuga, na fesoasoani ia te au e foia le faafitauli se tusiga paaga mai Avito: e mafai ona e faʻafeiloaʻi faʻamatalaga faʻaaoga pg_dump. O le a ou faʻamatalaina la matou (faʻalelei teisi) faʻasologa o lenei algorithm.

O le manatu e mafai ona e faia se faʻasalaga faʻaletonu o loʻo nonoa i se faʻasologa faʻapitoa, ona faʻasaʻo lea o le numera o fefaʻatauaiga. Sa i ai fa'atusa sa avanoa mo galuega gaosiga. E taua tele lenei mea aua o le a fesoasoani le faʻataʻitaʻiga i le fatuina o se faʻaputuga faifai pea ma faʻaauau pea ona maua suiga mai le matai.

O fa'atonuga mulimuli ane e fa'amatala ai le fa'agasologa o femalaga'iga o le a fa'aogaina ai fa'amatalaga talimalo nei:

  1. aliʻi — puna puna server;
  2. fa'atusa1 - fa'asolo fa'atusa i luga o le gaosiga tuai;
  3. fa'atusa2 - fa'atusa talafeagai fou.

Fuafuaga o femalagaiga

1. Fausia se saofaga i luga o le matai mo laulau uma i le schema public faʻavae dbname:

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

2. Fausia se kopi fa'aoga i luga ole matai:

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

3. Taofi le toe faia o le kopi tuai:

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

4. Maua le numera o fefa'atauaiga mai le matai:

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

5. Aveese le lapisi mai le kopi tuai. O le a matou faia lenei mea i le tele o filo, lea o le a fesoasoani e faʻavave le faagasologa:

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

6. Tu'u le lafoa'i ile server fou:

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

7. A mae'a ona la'uina le lafoa'i, e mafai ona e amata fa'atusa i luga o le fa'asologa o le tafe:

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

7. Sei o tatou faia se saofaga i luga o se fa'atusa talafeagai fou:

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. Tatou maua oid saofaga:

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

9. Faapea na maua oid=1000. Se'i o tatou fa'aoga le numera o fefa'ataua'iga i le saofaga:

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

10. Tatou amata toe faia:

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

11. Siaki le tulaga o le lesitala, e tatau ona aoga le kopi:

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. A uma ona amata le toe faia ma fa'amaopoopo fa'amaumauga, e mafai ona e fesuia'i.

13. A maeʻa ona faʻagata le toe faia, e tatau ona e faʻasaʻo faʻasologa. Ua lelei ona faamatalaina lenei mea i le tala i le wiki.postgresql.org.

Faafetai i lenei fuafuaga, o le suiga na faia ma sina tolopoina.

iʻuga

Kubernetes operators e faʻatagaina oe e faʻafaigofie gaioiga eseese e ala i le faʻaitiitia o latou i le fausiaina o punaoa K8s. Ae ui i lea, i le ausiaina o masini mataʻina ma la latou fesoasoani, e taua le manatuaina e mafai foi ona aumaia le tele o nuances e leʻi mafaufauina, o lea ia filifili ma le poto au faʻalapotopotoga.

I le iloiloina o le tolu sili ona lauiloa Kubernetes operators mo PostgreSQL, matou filifilia le poloketi mai Zalando. Ma e tatau ona matou foia nisi o faigata, ae o le taunuuga na matua fiafia lava, o lea matou te fuafua e faʻalautele lenei poto masani i isi mea faʻapipiʻi PgSQL. Afai ei ai sou poto masani i le faʻaaogaina o tali tutusa, matou te fiafia e vaʻai i faʻamatalaga i faʻamatalaga!

SALA

Faitau foi i la matou blog:

puna: www.habr.com

Faaopoopo i ai se faamatalaga