Usa ka Mubo nga Overview sa Mga Pahayag sa PostgreSQL para sa Kubernetes, Atong Mga Pagpili ug Kasinatian

Usa ka Mubo nga Overview sa Mga Pahayag sa PostgreSQL para sa Kubernetes, Atong Mga Pagpili ug Kasinatian

Nagkadaghan, ang mga kliyente nakadawat sa mosunod nga mga hangyo: "Gusto namo kini sama sa Amazon RDS, apan mas barato"; "Gusto namon kini sama sa RDS, apan bisan diin, sa bisan unsang imprastraktura." Aron ipatuman ang ingon nga pagdumala nga solusyon sa Kubernetes, among gitan-aw ang karon nga kahimtang sa labing inila nga mga operator alang sa PostgreSQL (Stolon, mga operator gikan sa Crunchy Data ug Zalando) ug gipili namon.

Kini nga artikulo mao ang kasinatian nga atong naangkon gikan sa usa ka teoretikal nga punto sa panglantaw (pagsusi sa mga solusyon) ug gikan sa praktikal nga bahin (unsa ang gipili ug unsa ang gikan niini). Apan una, atong mahibal-an kung unsa ang kinatibuk-ang kinahanglanon alang sa usa ka potensyal nga kapuli sa RDS ...

Unsa ang RDS

Kung ang mga tawo maghisgot bahin sa RDS, sa among kasinatian, nagpasabut sila usa ka gidumala nga serbisyo sa DBMS nga:

  1. sayon ​​nga i-configure;
  2. adunay katakus sa pagtrabaho sa mga snapshot ug pagbawi gikan niini (mas maayo nga adunay suporta PITR);
  3. nagtugot kanimo sa paghimo sa master-slave topologies;
  4. adunay daghang lista sa mga extension;
  5. naghatag og pag-audit ug pagdumala sa user/access.

Sa kinatibuk-an, ang mga pamaagi sa pagpatuman sa buluhaton sa kamot mahimong lahi kaayo, apan ang dalan nga adunay kondisyon nga Ansible dili duol kanato. (Ang mga kauban gikan sa 2GIS nakaabut sa parehas nga konklusyon ingon usa ka sangputanan iyang pagsulay paghimo og "usa ka himan alang sa dali nga pag-deploy sa usa ka Postgres-based failover cluster.")

Ang mga operator kay kasagarang pamaagi para sa pagsulbad sa susamang mga problema sa Kubernetes ecosystem. Ang teknikal nga direktor sa "Flanta" nagsulti na sa mas detalyado bahin kanila kalabot sa mga database nga gilunsad sulod sa Kubernetes. distolsa usa sa iyang mga report.

NB: Aron dali nga makahimo og yano nga mga operator, among girekomenda nga hatagan pagtagad ang among Open Source utility shell-operator. Gamit kini, mahimo nimo kini nga wala’y kahibalo sa Go, apan sa mga paagi nga mas pamilyar sa mga tagdumala sa sistema: sa Bash, Python, ug uban pa.

Adunay ubay-ubay nga sikat nga K8s operators para sa PostgreSQL:

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

Atong tan-awon sila pag-ayo.

Pagpili sa operator

Dugang pa sa mga importanteng bahin nga nahisgotan na sa ibabaw, kami - isip mga inhinyero sa operasyon sa imprastraktura sa Kubernetes - gilauman usab ang mosunod gikan sa mga operator:

  • deployment gikan sa Git ug uban sa Custom nga mga Kapanguhaan;
  • pod anti-affinity nga suporta;
  • pag-instalar sa node affinity o node selector;
  • pag-instalar sa mga pagtugot;
  • pagkaanaa sa mga katakus sa tuning;
  • masabtan nga mga teknolohiya ug bisan mga sugo.

Kung wala’y paghisgot sa mga detalye sa matag usa sa mga punto (pangutan-a sa mga komentaryo kung naa ka pa ba mga pangutana bahin niini pagkahuman mabasa ang tibuuk nga artikulo), akong mamatikdan sa kinatibuk-an nga kini nga mga parameter gikinahanglan aron mas tukma nga ihulagway ang espesyalisasyon sa mga cluster node aron pag-order kanila alang sa piho nga mga aplikasyon. Niining paagiha makab-ot nato ang labing maayo nga balanse sa mga termino sa pasundayag ug gasto.

Karon magpadayon kita sa mga operator sa PostgreSQL mismo.

1. Stolon

Stolon gikan sa Italyano nga kompanya nga Sorint.lab sa nahisgotan na nga report giisip nga usa ka matang sa sumbanan taliwala sa mga operator alang sa DBMS. Kini usa ka medyo karaan nga proyekto: ang una nga pagpagawas sa publiko nahitabo kaniadtong Nobyembre 2015 (!), Ug ang GitHub repository adunay hapit 3000 nga mga bituon ug 40+ nga mga kontribyutor.

Sa tinuud, ang Stolon usa ka maayo kaayo nga ehemplo sa mahunahunaon nga arkitektura:

Usa ka Mubo nga Overview sa Mga Pahayag sa PostgreSQL para sa Kubernetes, Atong Mga Pagpili ug Kasinatian
Ang himan niini nga operator makita sa detalye sa report o dokumentasyon sa proyekto. Sa kinatibuk-an, igo na ang pag-ingon nga mahimo niini ang tanan nga gihulagway: failover, mga proxy alang sa transparent nga pag-access sa kliyente, pag-backup ... Dugang pa, ang mga proxy naghatag og access pinaagi sa usa ka endpoint nga serbisyo - dili sama sa laing duha ka mga solusyon nga gihisgutan sa ubos (sila adunay duha ka mga serbisyo alang sa access base).

Apan, Stolon walay Custom Resources, mao nga dili kini ma-deploy sa paagi nga kini sayon ​​ug dali - "sama sa mainit nga mga cake" - sa paghimo sa DBMS nga mga higayon sa Kubernetes. Ang pagdumala gihimo pinaagi sa utility stolonctl, ang pag-deploy gihimo pinaagi sa Helm chart, ug ang mga naandan gihubit ug gipiho sa ConfigMap.

Sa usa ka bahin, kini nahimo nga ang operator dili gyud usa ka operator (pagkahuman, wala kini mogamit CRD). Apan sa laing bahin, kini usa ka flexible nga sistema nga nagtugot kanimo sa pag-configure sa mga kapanguhaan sa K8s sumala sa imong nakita nga angay.

Sa pag-summarize, alang kanamo sa personal kini daw dili kamalaumon nga paghimo og usa ka bulag nga tsart alang sa matag database. Busa, nagsugod kami sa pagpangita og mga alternatibo.

2. Crunchy Data PostgreSQL Operator

Operator gikan sa Crunchy Data, usa ka batan-ong Amerikano nga pagsugod, ingon og usa ka lohikal nga alternatibo. Ang kasaysayan sa publiko nagsugod sa una nga pagpagawas kaniadtong Marso 2017, sukad niadto ang GitHub repository nakadawat lang ubos sa 1300 ka bituon ug 50+ nga mga kontribyutor. Ang pinakabag-o nga pagpagawas gikan sa Septiyembre gisulayan sa pagtrabaho uban sa Kubernetes 1.15-1.18, OpenShift 3.11+ ug 4.4+, GKE ug VMware Enterprise PKS 1.3+.

Ang arkitektura sa Crunchy Data PostgreSQL Operator nakatagbo usab sa gipahayag nga mga kinahanglanon:

Usa ka Mubo nga Overview sa Mga Pahayag sa PostgreSQL para sa Kubernetes, Atong Mga Pagpili ug Kasinatian

Ang pagdumala mahitabo pinaagi sa utility pgo, bisan pa niana, kini sa baylo nagmugna og Custom Resources para sa Kubernetes. Busa, ang operator nalipay kanamo isip mga potensyal nga tiggamit:

  • adunay kontrol pinaagi sa CRD;
  • sayon ​​​​nga pagdumala sa tiggamit (usab pinaagi sa CRD);
  • integrasyon sa ubang mga sangkap Crunchy Data Container Suite — usa ka espesyal nga koleksyon sa mga imahen sa sulud alang sa PostgreSQL ug mga gamit alang sa pagtrabaho niini (lakip ang pgBackRest, pgAudit, mga extension gikan sa kontribusyon, ug uban pa).

Bisan pa, ang mga pagsulay sa pagsugod sa paggamit sa operator gikan sa Crunchy Data nagpadayag daghang mga problema:

  • Walay posibilidad sa pagtugot - nodeSelector lamang ang gihatag.
  • Ang gihimo nga mga pod kabahin sa Deployment, bisan pa sa kamatuoran nga nag-deploy kami og stateful application. Dili sama sa StatefulSets, ang Deployments dili makahimo og mga disk.

Ang katapusan nga disbentaha nagdala ngadto sa kataw-anan nga mga gutlo: sa pagsulay nga palibot nakahimo kami sa pagpadagan sa 3 nga mga replika nga adunay usa ka disk lokal nga pagtipig, hinungdan sa pagreport sa operator nga 3 ka replika ang nagtrabaho (bisan kung dili).

Ang laing bahin sa kini nga operator mao ang andam na nga paghiusa sa lainlaing mga sistema sa auxiliary. Pananglitan, sayon ​​​​ang pag-instalar sa pgAdmin ug pgBounce, ug sa dokumentasyon gikonsiderar ang pre-configure nga Grafana ug Prometheus. Sa bag-o lang buhian ang 4.5.0-beta1 Ang gipaayo nga panagsama sa proyekto gilain nga nahibal-an pgMonitor, salamat diin ang operator nagtanyag usa ka tin-aw nga pagtan-aw sa mga sukatan sa PgSQL gikan sa kahon.

Bisan pa, ang katingad-an nga pagpili sa mga kapanguhaan nga nahimo sa Kubernetes nagdala kanamo sa panginahanglan nga mangita usa ka lahi nga solusyon.

3. Operator sa Zalando Postgres

Nahibal-an namon ang mga produkto sa Zalando sa dugay nga panahon: kami adunay kasinatian sa paggamit sa Zalenium ug, siyempre, among gisulayan Patroni mao ang ilang popular nga solusyon sa HA alang sa PostgreSQL. Mahitungod sa pamaagi sa kompanya sa paghimo Operator sa Postgres usa sa mga tagsulat niini, si Alexey Klyukin, miingon sa hangin Postgres-Martes #5, ug ganahan mi.

Kini ang pinakabata nga solusyon nga gihisgutan sa artikulo: ang unang pagpagawas nahitabo sa Agosto 2018. Bisan pa, bisan pa sa gamay nga gidaghanon sa mga pormal nga pagpagawas, ang proyekto dugay na nga naabut, nga milabaw sa pagkapopular sa solusyon gikan sa Crunchy Data nga adunay 1300+ nga mga bituon sa GitHub ug ang labing kadaghan nga mga nag-ambag (70+).

"Ubos sa tabon" kini nga operator naggamit sa mga solusyon nga nasulayan sa oras:

  • Patroni ug Spilo Alang sa pagmaneho,
  • WAL-E - alang sa pag-backup,
  • PgBouncer - ingon usa ka koneksyon pool.

Ingon niini kung giunsa ang arkitektura sa operator gikan sa Zalando gipresentar:

Usa ka Mubo nga Overview sa Mga Pahayag sa PostgreSQL para sa Kubernetes, Atong Mga Pagpili ug Kasinatian

Ang operator bug-os nga gidumala pinaagi sa Custom Resources, awtomatik nga nagmugna og StatefulSet gikan sa mga sudlanan, nga mahimo unya nga ipasibo pinaagi sa pagdugang sa lain-laing mga sidecar sa pod. Tanan kini usa ka hinungdanon nga bentaha kung itandi sa operator gikan sa Crunchy Data.

Tungod kay gipili namon ang solusyon gikan sa Zalando taliwala sa 3 nga mga kapilian nga gikonsiderar, usa ka dugang nga paghulagway sa mga kapabilidad niini ipresentar sa ubos, dayon kauban ang praktis sa aplikasyon.

Pagpraktis kauban ang Postgres Operator gikan sa Zalando

Ang pag-deploy sa operator yano ra: i-download lang ang kasamtangan nga pagpagawas gikan sa GitHub ug i-apply ang mga file sa YAML gikan sa direktoryo nagpadayag. Sa laing paagi, mahimo usab nimo gamiton operatorhub.

Pagkahuman sa pag-instalar, kinahanglan ka mabalaka bahin sa pag-set up pagtipig alang sa mga troso ug pag-backup. Gihimo kini pinaagi sa ConfigMap postgres-operator sa namespace diin imong gi-install ang operator. Kung ma-configure na ang mga repository, mahimo nimong i-deploy ang imong una nga cluster sa PostgreSQL.

Pananglitan, ang among standard nga pag-deploy ingon niini:

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

Kini nga manifest nag-deploy sa usa ka cluster sa 3 nga mga higayon nga adunay sidecar sa porma postgres_exporter, diin gikuha namo ang mga sukatan sa aplikasyon. Sama sa imong nakita, ang tanan yano ra kaayo, ug kung gusto nimo, makahimo ka usa ka literal nga walay kutub nga gidaghanon sa mga pungpong.

Kini angay nga hatagan ug pagtagad panel sa pagdumala sa web - postgres-operator-ui. Nag-uban kini sa operator ug gitugotan ka sa paghimo ug pagtangtang sa mga pungpong, ingon man sa pagtrabaho sa mga backup nga gihimo sa operator.

Usa ka Mubo nga Overview sa Mga Pahayag sa PostgreSQL para sa Kubernetes, Atong Mga Pagpili ug Kasinatian
Listahan sa PostgreSQL clusters

Usa ka Mubo nga Overview sa Mga Pahayag sa PostgreSQL para sa Kubernetes, Atong Mga Pagpili ug Kasinatian
Pagdumala sa backup

Ang laing makapaikag nga bahin mao ang suporta Teams API. Kini nga mekanismo awtomatiko nga nagmugna mga tahas sa PostgreSQL, base sa resulta nga listahan sa mga username. Gitugotan ka sa API nga ibalik ang usa ka lista sa mga tiggamit kung kinsa ang mga tahas awtomatiko nga gihimo.

Mga problema ug solusyon

Bisan pa, ang paggamit sa operator sa wala madugay nagpadayag daghang hinungdanon nga mga kakulangan:

  1. kakulang sa suporta sa nodeSelector;
  2. kawalay katakus sa pag-disable sa mga backup;
  3. kung gamiton ang function sa paghimo sa database, ang default nga mga pribilehiyo dili makita;
  4. Usahay ang dokumentasyon kulang o wala na sa petsa.

Maayo na lang, daghan niini ang masulbad. Magsugod kita gikan sa katapusan - mga problema sa dokumentasyon.

Lagmit, masugatan nimo ang kamatuoran nga dili kanunay klaro kung giunsa ang pagrehistro sa usa ka backup ug kung giunsa ang pagkonektar sa backup nga balde sa Operator UI. Ang dokumentasyon naghisgot bahin niini sa paglabay, apan ang tinuod nga paghulagway anaa sa PR:

  1. kinahanglan nga maghimo usa ka sekreto;
  2. ipasa kini sa operator isip parameter pod_environment_secret_name sa CRD nga adunay mga setting sa operator o sa ConfigMap (depende kung giunsa nimo pagdesisyon nga i-install ang operator).

Apan, ingon nga kini nahimo, kini karon imposible. Mao to nagtigom mi imong bersyon sa operator uban ang pipila ka dugang nga mga pag-uswag sa ikatulo nga partido. Alang sa dugang nga impormasyon bahin niini, tan-awa sa ubos.

Kung imong ipasa ang mga parameter alang sa backup sa operator, nga mao - wal_s3_bucket ug pag-access sa mga yawe sa AWS S3, dayon kini i-backup ang tanan: dili lamang mga base sa produksyon, apan usab sa dula. Dili kini angay kanamo.

Sa paghulagway sa mga parameter alang sa Spilo, nga mao ang sukaranan nga Docker wrapper alang sa PgSQL kung gigamit ang operator, kini nahimo: mahimo nimong ipasa ang usa ka parameter WAL_S3_BUCKET walay sulod, sa ingon dili ma-disable ang mga backup. Dugang pa, sa dakong kalipay, akong nakaplagan andam PR, nga gidawat dayon namo sa among tinidor. Karon kinahanglan nimo nga idugang enableWALArchiving: false ngadto sa usa ka PostgreSQL cluster resource.

Oo, adunay usa ka oportunidad nga mahimo kini nga lahi pinaagi sa pagpadagan sa 2 nga mga operator: usa alang sa dula (nga wala’y mga backup), ug ang ikaduha alang sa produksiyon. Apan nakahimo kami sa pagbuhat sa usa.

Ok, nahibal-an namon kung giunsa pagbalhin ang pag-access sa mga database alang sa S3 ug ang mga backup nagsugod sa pagsulod sa pagtipig. Giunsa paghimo ang mga backup nga panid nga molihok sa Operator UI?

Usa ka Mubo nga Overview sa Mga Pahayag sa PostgreSQL para sa Kubernetes, Atong Mga Pagpili ug Kasinatian

Kinahanglan nimo nga idugang ang 3 nga mga variable sa Operator UI:

  • SPILO_S3_BACKUP_BUCKET
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Pagkahuman niini, ang pagdumala sa mga pag-backup mahimong magamit, nga sa among kaso pasimplehon ang trabaho sa dula, nga gitugotan kami nga maghatud sa mga hiwa gikan sa produksiyon didto nga wala’y dugang nga mga script.

Laing bentaha mao ang pagtrabaho kauban ang Teams API ug daghang mga oportunidad sa paghimo sa mga database ug mga tahas gamit ang mga himan sa operator. Apan, ang gibuhat Ang mga tahas walay katungod pinaagi sa default. Tungod niini, ang usa ka tiggamit nga adunay mga katungod sa pagbasa dili makabasa sa bag-ong mga lamesa.

Ngano man? Bisan pa sa kamatuoran nga sa code mao gikinahanglan GRANT, dili kini kanunay gamiton. Adunay 2 ka pamaagi: syncPreparedDatabases и syncDatabases. ang syncPreparedDatabases - bisan pa sa kamatuoran nga sa seksyon preparedDatabases mao naay kondisyon defaultRoles и defaultUsers sa paghimo og mga tahas, ang default nga mga katungod wala magamit. Anaa kami sa proseso sa pag-andam sa usa ka patch aron kini nga mga katungod awtomatiko nga magamit.

Ug ang katapusan nga punto sa mga pag-uswag nga may kalabutan sa amon - pag-patch, nga nagdugang sa Node Affinity sa gihimo nga StatefulSet. Ang among mga kliyente kanunay nga gusto nga makunhuran ang mga gasto pinaagi sa paggamit sa mga higayon sa lugar, ug klaro nga dili sila takus sa pag-host sa mga serbisyo sa database. Kini nga isyu mahimong masulbad pinaagi sa pagtugot, apan ang presensya sa Node Affinity naghatag ug mas dakong pagsalig.

Unsay nahitabo?

Base sa mga resulta sa pagsulbad sa mga problema sa ibabaw, among giputol ang Postgres Operator gikan sa Zalando ngadto sa imong repository, diin kini gikolekta sa ingon nga mapuslanon nga mga patch. Ug alang sa mas dako nga kasayon, kami usab nangolekta Imahe sa Docker.

Listahan sa mga PR nga gidawat sa fork:

Nindot kaayo kung suportahan sa komunidad kini nga mga PR aron makaabut sila sa agos sa sunod nga bersyon sa operator (1.6).

Bonus! Ang istorya sa kalampusan sa paglalin sa produksiyon

Kung mogamit ka sa Patroni, ang live nga produksiyon mahimong ibalhin sa operator nga adunay gamay nga downtime.

Gitugotan ka sa Spilo nga maghimo mga standby cluster pinaagi sa pagtipig sa S3 nga adunay Wal-E, sa diha nga ang PgSQL binary log una nga gitipigan sa S3 ug dayon gibomba sa replica. Apan unsa ang buhaton kung naa ka dili gigamit sa Wal-E sa daan nga imprastraktura? Ang solusyon niini nga problema mao na gisugyot kini sa hub.

Ang lohikal nga replikasyon sa PostgreSQL moabut sa pagluwas. Bisan pa, dili kami magdetalye kung giunsa paghimo ang mga publikasyon ug mga suskrisyon, tungod kay ... ang among plano usa ka kapakyasan.

Ang tinuod mao nga ang database adunay daghang mga lamesa nga puno sa milyon-milyon nga mga laray, nga, dugang pa, kanunay nga gipuno ug gitangtang. Yano nga suskrisyon с copy_data, kon kopyahon sa bag-ong replika ang tanang sulod gikan sa agalon, dili gayod kini makasunod sa agalon. Ang pagkopya sa sulod nagtrabaho sulod sa usa ka semana, apan wala gayud makuha ang agalon. Sa katapusan, kini nakatabang kanako sa pagsulbad sa problema nga artikulo mga kauban gikan sa Avito: mahimo nimong ibalhin ang data gamit ang pg_dump. Akong ihulagway ang among (gamay nga giusab) nga bersyon niini nga algorithm.

Ang ideya mao nga mahimo nimo ang usa ka disabled nga suskrisyon nga nahigot sa usa ka piho nga slot sa pagkopya, ug dayon gitul-id ang numero sa transaksyon. Adunay mga replika nga magamit alang sa trabaho sa produksiyon. Importante kini tungod kay ang replika makatabang sa paghimo sa usa ka makanunayon nga dump ug magpadayon sa pagdawat sa mga pagbag-o gikan sa agalon.

Ang mosunod nga mga sugo nga naghulagway sa proseso sa paglalin mogamit sa mosunod nga mga notasyon sa host:

  1. agalon - tinubdan server;
  2. replika1 - streaming replika sa daan nga produksyon;
  3. replika2 - bag-ong lohikal nga kopya.

Plano sa paglalin

1. Paghimo og suskrisyon sa master para sa tanang lamesa sa schema public sukaranan dbname:

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

2. Paghimo og replication slot sa master:

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

3. Hunonga ang pagkopya sa daan nga replika:

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

4. Kuhaa ang numero sa transaksyon gikan sa agalon:

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

5. Kuhaa ang dump gikan sa daan nga replika. Buhaton namo kini sa daghang mga hilo, nga makatabang sa pagpadali sa proseso:

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

6. I-upload ang dump sa bag-ong server:

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

7. Human ma-download ang dump, mahimo nimong sugdan ang pagkopya sa streaming nga replika:

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

7. Magbuhat ta og suskrisyon sa bag-ong lohikal nga kopya:

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. Atong kuhaon oid mga suskrisyon:

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

9. Ingnon ta nga nadawat oid=1000. Ibutang nato ang numero sa transaksyon sa suskrisyon:

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

10. Atong sugdan ang pagkopya:

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

11. Susiha ang kahimtang sa suskrisyon, ang pagkopya kinahanglang molihok:

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. Human masugdan ang pagkopya ug ang mga database ma-synchronize, mahimo nimong ibalhin.

13. Human sa pag-disable sa replikasyon, kinahanglan nimo nga tul-iron ang mga han-ay. Maayo kining gihulagway sa artikulo sa wiki.postgresql.org.

Salamat sa kini nga plano, ang pagbalhin nahitabo nga adunay gamay nga paglangan.

konklusyon

Gitugotan ka sa mga operator sa Kubernetes nga pasimplehon ang lainlaing mga aksyon pinaagi sa pagkunhod niini sa paghimo sa mga kapanguhaan sa K8. Bisan pa, nga nakab-ot ang talagsaon nga automation sa ilang tabang, angay nga hinumdoman nga mahimo usab kini magdala daghang mga wala damha nga mga nuances, busa pilia ang imong mga operator nga maalamon.

Sa pagkonsiderar sa tulo ka labing inila nga Kubernetes operators para sa PostgreSQL, among gipili ang proyekto gikan sa Zalando. Ug kinahanglan namon nga mabuntog ang pipila nga mga kalisud niini, apan ang sangputanan makapahimuot kaayo, mao nga nagplano kami nga palapdan kini nga kasinatian sa ubang mga instalasyon sa PgSQL. Kung adunay ka kasinatian sa paggamit sa parehas nga mga solusyon, malipay kami nga makita ang mga detalye sa mga komento!

PS

Basaha usab sa among blog:

Source: www.habr.com

Idugang sa usa ka comment