Initial commit for new 1.6 release with Postgres 13 support.
This commit is contained in:
parent
929075814a
commit
30691f8211
26
README.md
26
README.md
|
|
@ -14,7 +14,7 @@ pipelines with no access to Kubernetes API directly, promoting infrastructure as
|
||||||
### Operator features
|
### Operator features
|
||||||
|
|
||||||
* Rolling updates on Postgres cluster changes, incl. quick minor version updates
|
* Rolling updates on Postgres cluster changes, incl. quick minor version updates
|
||||||
* Live volume resize without pod restarts (AWS EBS, others pending)
|
* Live volume resize without pod restarts (AWS EBS, PvC)
|
||||||
* Database connection pooler with PGBouncer
|
* Database connection pooler with PGBouncer
|
||||||
* Restore and cloning Postgres clusters (incl. major version upgrade)
|
* Restore and cloning Postgres clusters (incl. major version upgrade)
|
||||||
* Additionally logical backups to S3 bucket can be configured
|
* Additionally logical backups to S3 bucket can be configured
|
||||||
|
|
@ -23,10 +23,12 @@ pipelines with no access to Kubernetes API directly, promoting infrastructure as
|
||||||
* Basic credential and user management on K8s, eases application deployments
|
* Basic credential and user management on K8s, eases application deployments
|
||||||
* UI to create and edit Postgres cluster manifests
|
* UI to create and edit Postgres cluster manifests
|
||||||
* Works well on Amazon AWS, Google Cloud, OpenShift and locally on Kind
|
* Works well on Amazon AWS, Google Cloud, OpenShift and locally on Kind
|
||||||
|
* Support for custom TLS certificates
|
||||||
|
* Base support for AWS EBS gp3 migration (iops, throughput pending)
|
||||||
|
|
||||||
### PostgreSQL features
|
### PostgreSQL features
|
||||||
|
|
||||||
* Supports PostgreSQL 12, starting from 9.6+
|
* Supports PostgreSQL 13, starting from 9.6+
|
||||||
* Streaming replication cluster via Patroni
|
* Streaming replication cluster via Patroni
|
||||||
* Point-In-Time-Recovery with
|
* Point-In-Time-Recovery with
|
||||||
[pg_basebackup](https://www.postgresql.org/docs/11/app-pgbasebackup.html) /
|
[pg_basebackup](https://www.postgresql.org/docs/11/app-pgbasebackup.html) /
|
||||||
|
|
@ -48,7 +50,25 @@ pipelines with no access to Kubernetes API directly, promoting infrastructure as
|
||||||
[timescaledb](https://github.com/timescale/timescaledb)
|
[timescaledb](https://github.com/timescale/timescaledb)
|
||||||
|
|
||||||
The Postgres Operator has been developed at Zalando and is being used in
|
The Postgres Operator has been developed at Zalando and is being used in
|
||||||
production for over two years.
|
production for over three years.
|
||||||
|
|
||||||
|
## Notes on Postgres 13 support
|
||||||
|
|
||||||
|
If you are new to the operator, you can skip this and just start using the Postgres operator as is, Postgres 13 is ready to go.
|
||||||
|
|
||||||
|
The Postgres operator supports Postgres 13 with the new Spilo Image that includes also the recent Patroni version to support PG13 settings.
|
||||||
|
More work on optimizing restarts and rolling upgrades is pending.
|
||||||
|
|
||||||
|
If you are already using the Postgres operator in older version with a Spilo 12 Docker Image you need to be aware of the changes for the backup path.
|
||||||
|
We introduce the major version into the backup path to smooth the major version upgrade that is now supported manually.
|
||||||
|
|
||||||
|
The new operator configuration, sets a compatilibty flag *enable_spilo_wal_path_compat* to make Spilo look in current path but also old format paths for wal segments.
|
||||||
|
This comes at potential perf. costs, and should be disabled after a few days.
|
||||||
|
|
||||||
|
The new Spilo 13 image is: `registry.opensource.zalan.do/acid/spilo-13:2.0-p1`
|
||||||
|
|
||||||
|
The last Spilo 12 image is: `registry.opensource.zalan.do/acid/spilo-12:1.6-p5`
|
||||||
|
|
||||||
|
|
||||||
## Getting started
|
## Getting started
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ IFS=$'\n\t'
|
||||||
|
|
||||||
readonly cluster_name="postgres-operator-e2e-tests"
|
readonly cluster_name="postgres-operator-e2e-tests"
|
||||||
readonly kubeconfig_path="/tmp/kind-config-${cluster_name}"
|
readonly kubeconfig_path="/tmp/kind-config-${cluster_name}"
|
||||||
readonly spilo_image="registry.opensource.zalan.do/acid/spilo-12:1.6-p5"
|
readonly spilo_image="registry.opensource.zalan.do/acid/spilo-13:2.0-p1"
|
||||||
readonly e2e_test_runner_image="registry.opensource.zalan.do/acid/postgres-operator-e2e-tests-runner:0.3"
|
readonly e2e_test_runner_image="registry.opensource.zalan.do/acid/postgres-operator-e2e-tests-runner:0.3"
|
||||||
|
|
||||||
export GOPATH=${GOPATH-~/go}
|
export GOPATH=${GOPATH-~/go}
|
||||||
|
|
|
||||||
|
|
@ -11,8 +11,8 @@ from kubernetes import client
|
||||||
from tests.k8s_api import K8s
|
from tests.k8s_api import K8s
|
||||||
from kubernetes.client.rest import ApiException
|
from kubernetes.client.rest import ApiException
|
||||||
|
|
||||||
SPILO_CURRENT = "registry.opensource.zalan.do/acid/spilo-12:1.6-p5"
|
SPILO_CURRENT = "registry.opensource.zalan.do/acid/spilo-13:2.0-p1"
|
||||||
SPILO_LAZY = "registry.opensource.zalan.do/acid/spilo-cdp-12:1.6-p114"
|
SPILO_LAZY = "registry.opensource.zalan.do/acid/spilo-12:1.6-p5"
|
||||||
|
|
||||||
|
|
||||||
def to_selector(labels):
|
def to_selector(labels):
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@ spec:
|
||||||
defaultRoles: true
|
defaultRoles: true
|
||||||
defaultUsers: false
|
defaultUsers: false
|
||||||
postgresql:
|
postgresql:
|
||||||
version: "12"
|
version: "13"
|
||||||
parameters: # Expert section
|
parameters: # Expert section
|
||||||
shared_buffers: "32MB"
|
shared_buffers: "32MB"
|
||||||
max_connections: "10"
|
max_connections: "10"
|
||||||
|
|
@ -93,9 +93,9 @@ spec:
|
||||||
encoding: "UTF8"
|
encoding: "UTF8"
|
||||||
locale: "en_US.UTF-8"
|
locale: "en_US.UTF-8"
|
||||||
data-checksums: "true"
|
data-checksums: "true"
|
||||||
pg_hba:
|
# pg_hba:
|
||||||
- hostssl all all 0.0.0.0/0 md5
|
# - hostssl all all 0.0.0.0/0 md5
|
||||||
- host all all 0.0.0.0/0 md5
|
# - host all all 0.0.0.0/0 md5
|
||||||
# slots:
|
# slots:
|
||||||
# permanent_physical_1:
|
# permanent_physical_1:
|
||||||
# type: physical
|
# type: physical
|
||||||
|
|
|
||||||
|
|
@ -31,7 +31,7 @@ data:
|
||||||
# default_memory_request: 100Mi
|
# default_memory_request: 100Mi
|
||||||
# delete_annotation_date_key: delete-date
|
# delete_annotation_date_key: delete-date
|
||||||
# delete_annotation_name_key: delete-clustername
|
# delete_annotation_name_key: delete-clustername
|
||||||
docker_image: registry.opensource.zalan.do/acid/spilo-12:1.6-p5
|
docker_image: registry.opensource.zalan.do/acid/spilo-13:2.0-p1
|
||||||
# downscaler_annotations: "deployment-time,downscaler/*"
|
# downscaler_annotations: "deployment-time,downscaler/*"
|
||||||
# enable_admin_role_for_users: "true"
|
# enable_admin_role_for_users: "true"
|
||||||
# enable_crd_validation: "true"
|
# enable_crd_validation: "true"
|
||||||
|
|
@ -41,7 +41,7 @@ data:
|
||||||
# enable_init_containers: "true"
|
# enable_init_containers: "true"
|
||||||
# enable_lazy_spilo_upgrade: "false"
|
# enable_lazy_spilo_upgrade: "false"
|
||||||
enable_master_load_balancer: "false"
|
enable_master_load_balancer: "false"
|
||||||
# enable_pgversion_env_var: "false"
|
# enable_pgversion_env_var: "true"
|
||||||
# enable_pod_antiaffinity: "false"
|
# enable_pod_antiaffinity: "false"
|
||||||
# enable_pod_disruption_budget: "true"
|
# enable_pod_disruption_budget: "true"
|
||||||
# enable_postgres_team_crd: "false"
|
# enable_postgres_team_crd: "false"
|
||||||
|
|
@ -50,7 +50,7 @@ data:
|
||||||
# enable_shm_volume: "true"
|
# enable_shm_volume: "true"
|
||||||
# enable_pgversion_env_var: "false"
|
# enable_pgversion_env_var: "false"
|
||||||
# enable_sidecars: "true"
|
# enable_sidecars: "true"
|
||||||
enable_spilo_wal_path_compat: "false"
|
enable_spilo_wal_path_compat: "true"
|
||||||
# enable_team_superuser: "false"
|
# enable_team_superuser: "false"
|
||||||
enable_teams_api: "false"
|
enable_teams_api: "false"
|
||||||
# etcd_host: ""
|
# etcd_host: ""
|
||||||
|
|
@ -122,4 +122,4 @@ data:
|
||||||
# wal_gs_bucket: ""
|
# wal_gs_bucket: ""
|
||||||
# wal_s3_bucket: ""
|
# wal_s3_bucket: ""
|
||||||
watched_namespace: "*" # listen to all namespaces
|
watched_namespace: "*" # listen to all namespaces
|
||||||
workers: "8"
|
workers: "16"
|
||||||
|
|
|
||||||
|
|
@ -18,4 +18,4 @@ spec:
|
||||||
preparedDatabases:
|
preparedDatabases:
|
||||||
bar: {}
|
bar: {}
|
||||||
postgresql:
|
postgresql:
|
||||||
version: "12"
|
version: "13"
|
||||||
|
|
|
||||||
|
|
@ -200,7 +200,7 @@ type Config struct {
|
||||||
PostgresSuperuserTeams []string `name:"postgres_superuser_teams" default:""`
|
PostgresSuperuserTeams []string `name:"postgres_superuser_teams" default:""`
|
||||||
SetMemoryRequestToLimit bool `name:"set_memory_request_to_limit" default:"false"`
|
SetMemoryRequestToLimit bool `name:"set_memory_request_to_limit" default:"false"`
|
||||||
EnableLazySpiloUpgrade bool `name:"enable_lazy_spilo_upgrade" default:"false"`
|
EnableLazySpiloUpgrade bool `name:"enable_lazy_spilo_upgrade" default:"false"`
|
||||||
EnablePgVersionEnvVar bool `name:"enable_pgversion_env_var" default:"false"`
|
EnablePgVersionEnvVar bool `name:"enable_pgversion_env_var" default:"true"`
|
||||||
EnableSpiloWalPathCompat bool `name:"enable_spilo_wal_path_compat" default:"false"`
|
EnableSpiloWalPathCompat bool `name:"enable_spilo_wal_path_compat" default:"false"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue