Hochverfügbare
Cluster auf Kubernetes
FELIX KUNDEFELIX KUNDEslides.com/fxku/postgis-k8s F O S S
IG
2020
ÜBER MICHÜBER MICH
GeoinformatikerJetzt Database Engineer @ Zalando
Hin und wieder Gastdozent für Datenbanken, and @FlxKu
Postgres Operator 3DCityDB pgMemento
@@Wenig PostGIS, aber jede Menge PostgreSQLEarly Adopter von Kubernetes im ProduktivbetriebÜber 1400 Postgres Cluster auf KubernetesEigenes DBaaS-Produkt / Team
KUBERNETES?KUBERNETES?
KUBERNETES =K8SKUBERNETES =K8S
MM
Server / Cloud
Registry
image: wfs:v3.0
MM
Server / Cloud
Registry
image: wfs:v3.0
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3
Registry
image: wfs:v3.0
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3
Registry
image: wfs:v3.0
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3
Registry
DeploymentControllerimage: wfs:v3.0
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3
Registry
DeploymentControllerimage: wfs:v3.0
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3
Registry
pull
DeploymentControllerimage: wfs:v3.0
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3
Registry
pull
DeploymentControllerimage: wfs:v3.0
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3
Registry
pull
DeploymentControllerimage: wfs:v3.0
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3 DeploymentControllerimage: wfs:v3.0
!= 2
MM
Deploymentmit Container(n)
Server / Cloud
replicas: 3 DeploymentControllerimage: wfs:v3.0
MM
StatefulSetmit Container(n)
Server / Cloud
replicas: 3 StatefulSetControllerimage:
postgis:v3
MM
RR
RR
MM
Postgresqlmit Container
Server / Cloud
replicas: 2image: spilo
Operator
Spilo
MM
RR
apiVersion: acid.zalan.do/v1kind: Postgresqlmetadata: name: fossgis-app-dbspec: numberOfInstances: 2 postgresql: version: "12" teamId: fossgis users: app_owner: [] databases: prod_app_db: app_owner volume: size: 10Gi
apiVersion: acid.zalan.do/v1kind: Postgresqlmetadata: name: fossgis-app-dbspec: numberOfInstances: 2 postgresql: version: "12" teamId: fossgis users: app_owner: [] databases: prod_app_db: app_owner volume: size: 10Gi
- Erstelle einen PostgreSQL cluster- mit dem Namen: fossgis-app-db. - Zwei Instanzen, Master & Replica- PostgreSQL 12- Team: fossgis (Rollen für Mitarbeiter)- Lege App-Nutzer app_owner an- Keine dedizierten Privilegien- Lege Datenbank prod_app_db an - Beantrage an 10GB Volume / Instanz
POSTGIS-AS-A-SERVICEPOSTGIS-AS-A-SERVICE
Power to the people! Nicht nur DBAs.Auto. Rollen & sExtension Angebot und
, & außerhalb von K8s und Hochverfügbarkeit
von und PostgreSQL Logs aus der DB abfragbar ( )
Authentifizierung managementWhitelisting
Backups WAL archiving RecoverySkalierenMonitoring Performance Incidents
file_fdw
OPENSOURCE.ZALANDO.COMOPENSOURCE.ZALANDO.COM
ist DER PostgreSQL high-availability manager ist Zalando's Postgres Image incl. Patroni
betreut Spilo auf K8s
PatroniSpiloPostgres-Operator
DEMODEMO
IST DAS SCHWER?IST DAS SCHWER?
Wer Docker kennt, kommt schneller reinK8s eigentlich überschaubarViel zu konfigurieren für den Prod.-BetriebLokal testen mit , etc.
1x1
Minikube Kind
HAUSAUFGABEHAUSAUFGABE
BRAUCHE ICH DAS?BRAUCHE ICH DAS?
In-house K8s braucht AdminsErst bei größeren Firmen, ansonsten CloudWas kann gehen?Es muss nicht K8s sein, aber Spilo schon ;)
schief
DANKEDANKE
FELIX KUNDEFELIX KUNDEslides.com/fxku/postgis-k8s