You are looking at the documentation of a prior release. To read the documentation of the latest release, please
visit here.
New to KubeDB? Please start here.
Reconfiguring TLS of Postgres Database
This guide will give an overview on how KubeDB Ops-manager operator reconfigures TLS configuration i.e. add TLS, remove TLS, update issuer/cluster issuer or Certificates and rotate the certificates of a Postgres
database.
Before You Begin
- You should be familiar with the following
KubeDB
concepts:
How Reconfiguring Postgres TLS Configuration Process Works
The following diagram shows how KubeDB Ops-manager operator reconfigures TLS of a Postgres
database. Open the image in a new tab to see the enlarged version.
The Reconfiguring Postgres TLS process consists of the following steps:
At first, a user creates a
Postgres
Custom Resource Object (CRO).KubeDB
Provisioner operator watches thePostgres
CRO.When the operator finds a
Postgres
CR, it creates required number ofPetSets
and related necessary stuff like secrets, services, etc.Then, in order to reconfigure the TLS configuration of the
Postgres
database the user creates aPostgresOpsRequest
CR with desired information.KubeDB
Ops-manager operator watches thePostgresOpsRequest
CR.When it finds a
PostgresOpsRequest
CR, it pauses thePostgres
object which is referred from thePostgresOpsRequest
. So, theKubeDB
Provisioner operator doesn’t perform any operations on thePostgres
object during the reconfiguring TLS process.Then the
KubeDB
Ops-manager operator will add, remove, update or rotate TLS configuration based on the Ops Request yaml.Then the
KubeDB
Ops-manager operator will restart all the Pods of the database so that they restart with the new TLS configuration defined in thePostgresOpsRequest
CR.After the successful reconfiguring of the
Postgres
TLS, theKubeDB
Ops-manager operator resumes thePostgres
object so that theKubeDB
Provisioner operator resumes its usual operations.
In the next docs, we are going to show a step by step guide on reconfiguring TLS configuration of a Postgres database using PostgresOpsRequest
CRD.