Getting Started with Zalando’s Postgres Operator UI for Infrastructure-as-Code
This guide walks through using the Postgres Operator UI to create, start, update, and delete PostgreSQL clusters on Kubernetes, covering UI navigation, configuration options, troubleshooting steps, and limitations, with links to detailed documentation.
Introduction
The Postgres Operator UI provides a graphical interface for Database‑as‑a‑Service. After a database and/or Kubernetes (K8s) administrator installs the operator, other teams can create, clone, monitor, edit, and delete their own PostgreSQL clusters. Technical details are in the admin documentation (https://postgres-operator.readthedocs.io/en/latest/administrator/#setting-up-the-postgres-operator-ui).
Creating a New Cluster
Select the New cluster option from the top menu and fill in the fields. The cluster name is composed of the team and a given name. Available options include:
Enable load balancer – https://postgres-operator.readthedocs.io/en/latest/administrator/#load-balancers-and-allowed-ip-ranges
Volume size – https://postgres-operator.readthedocs.io/en/latest/user/#increase-volume-size
Users and databases – https://postgres-operator.readthedocs.io/en/latest/user/#manifest-roles
Pod resources – https://postgres-operator.readthedocs.io/en/latest/operator-ui/cluster-manifest.md#postgres-container-resources
The left pane shows a preview of the PostgreSQL cluster manifest; clicking the green Create cluster button applies the manifest.
Cluster Startup
After the manifest is applied to K8s, the Postgres Operator creates all required resources. The UI Status page displays progress, typically completing within 1 minute. If the process appears stuck, click the Logs button to inspect operator logs. If logs look fine but the UI hangs, verify that the cluster‑name label matches the operator’s configuration (operator config: https://github.com/zalando/postgres-operator/blob/master/manifests/configmap.yaml#L13; cluster‑name label: https://github.com/zalando/postgres-operator/blob/master/ui/manifests/deployment.yaml#L45).
The Status field also lets you retrieve logs and queues for each worker. The number of concurrent workers can be configured (operator parameters: https://postgres-operator.readthedocs.io/en/latest/reference/operator_parameters/#general).
When startup finishes, the UI shows the cluster address path. If a load balancer is enabled, this path can be used as the hostname for connecting to PostgreSQL, provided the client IP falls within the configured allowedSourceRanges.
Updating and Deleting Clusters
Created clusters appear under the PostgreSQL clusters menu. Using the Status button opens the cluster’s status page, from which you can edit the manifest, clone the cluster, or delete it. Cloning documentation: https://postgres-operator.readthedocs.io/en/latest/user/#how-to-clone-an-existing-postgresql-cluster.
The UI does not yet support all manifest options; attempting to add unsupported fields in the editor has no effect. In such cases, use kubectl commands; the left‑hand manifest view will reflect the patched parameters. Full manifest reference: https://postgres-operator.readthedocs.io/en/latest/reference/cluster_manifest/.
When deleting a cluster, the UI prompts for the cluster’s namespace and name to confirm the operation.
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
