Keri sisuni

PostgreSQL-klastri sertifikaatide uuendamine

Ettevalmistused

Sertifikaadi uuendamine

Enne PostgreSQL-klastri sõlmedes mis tahes toimingute tegemist valmistage ette uued sertifikaadid klastri iga sõlme jaoks. Tuletame meelde, et sertifikaadid peavad vastama mitmele piirangule, mis on määratud PostgreSQL-klastri eeltingimustes.

Kui soovite teha muudatuse käigu pealt ilma tootmist mõjutamata, peavad olema täidetud järgmised tingimused:

  • Sertifitseerimisasutust pole pärast PostgreSQL-sõlmede sertifikaatide viimast genereerimist uuendatud
  • Sertifitseerimisasutuse kehtivus ei lõpe uute sertifikaatide kehtivusaja jooksul
  • Saate endiselt genereerida ja allkirjastada sertifikaate sama sertifitseerimisasutusega, mida kasutati PostgreSQL-sõlmede eelmiste sertifikaatide genereerimisel
  • PostgreSQL-sõlmede sertifikaatide kehtivus pole veel lõppenud

Kui need tingimused on täidetud, võite kaaluda sertifikaatide uuendamist käigu pealt ilma tootmist katkestamata.

Kui soovite sertifikaadid uuesti genereerida openssl-i PKI abil, mida on valikuliselt kirjeldatud PostgreSQL-i klastri installidokumentatsioonis, peate uuesti kasutama sertifitseerimisasutuse võtit ja seejärel sertifikaatide genereerimise käsud uuesti käivitama.

Kui sertifikaate pole võimalik käigu pealt uuendada ja kasutate PKI-d openssl-i kaudu, soovitame luua uue.

Sertifikaatide ettevalmistamine

Peate saatma juursertifitseerimisasutuse sertifikaadi laiendiga .crt kataloogi /tmp/ igas PostgreSQL-i sõlmes.

Samuti peate saatma sertifikaadi ja sellega seotud privaatvõtme kataloogi /tmp/ igas PostgreSQL-i sõlmes. Kui teil on saadaval ainult üks .p12-fail, käivitage sertifikaadi (psql.crt) ja privaatvõtme (psql.key) ekstraktimiseks järgmised käsud:

1
2
openssl pkcs12 -clcerts -nokeys -out psql.crt -in P12_CERT
openssl pkcs12 -nocerts -out psql.key -in P12_CERT

Asendage eelmistes käskudes P12_CERT oma .p12-sertifikaadifaili nimega.

Sertifikaadi uuendamine

Hoiatus!

Kui saate ja soovite sertifikaate käigu pealt värskendada minimaalse tootmisseisakuga (1 minut + kasutajate väljalogimine), peate:

  • uuendama sertifikaate igas sõlmes järjestikku
  • uuendama sertifikaate ainult REPLICA-sõlmes (vt, kuidas hankida teavet LEADER-sõlmest)
  • hoidma alati töös vähemalt kaht PostgreSQL-i sõlme ja töötama kolmandaga
  • LEADER-sõlmega töötamiseks lülitama LEADER-i ümber teisele sõlmele; see toiming logib kasutajad välja ja platvorm pole umbes 1 minuti jooksul saadaval

Järgmiste toimingute lihtsustamiseks kohandage allolevates käskudes muutujad oma väärtustega (muutke kohandust iga PostgreSQL-i sõlme jaoks):

Väärtus Muutuja Määratlus
PSQL_CERT PostgreSQL-i sõlme uus sertifikaat.
PSQL_KEY PostgreSQL-i sõlme uue sertifikaadiga seotud võti.
PSQL_CA Juursertifitseerimisasutuse sertifikaat, mida kasutati PostgreSQL-i sõlme sertifikaadi genereerimiseks.

Looge SSH-ühendus kasutajana root sellesse PostgreSQL-i sõlme, mille sertifikaate soovite värskendada, ja käivitage sertifikaatide asendamiseks järgmised käsud:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
cp /tmp/PSQL_CERT /etc/etcd/peer.crt
cp /tmp/PSQL_CERT /etc/etcd/client.crt
cp /tmp/PSQL_CERT /etc/patroni/client.crt
cp /tmp/PSQL_KEY /etc/etcd/peer.key
cp /tmp/PSQL_KEY /etc/etcd/client.key
cp /tmp/PSQL_KEY /etc/patroni/client.key
cp /tmp/PSQL_CA /etc/etcd/ca.crt
cp /tmp/PSQL_CA /etc/patroni/ca.crt
cp /tmp/PSQL_CA /usr/local/share/ca-certificates/PSQL-CA-`date +%G-%m-%d`.crt
update-ca-certificates

Sertifikaadimuudatuste lõpuleviimiseks peate PostgreSQL-i sõlme taaskäivitama:

1
reboot