Crunchy Bridge for Analytics now has support for Iceberg and other new features. Learn more in our Crunchy Bridge for Analytics announcement.

Announcing Crunchy Postgres for Kubernetes 5.6: New Features for Seamless Postgres Management

Greg Nokes

4 min read

We are excited to introduce Crunchy Postgres for Kubernetes (CPK) 5.6, the latest version of our PostgreSQL Kubernetes operator. This release brings several new features that will elevate your PostgreSQL experience to new heights, ensuring better management, automation, and scalability.

Autogrow Postgres storage

Managing storage is now simpler with Crunchy Postgres for Kubernetes 5.6. The new storage management feature allows CPK to automatically expand storage for your Postgres clusters as your data grows. Say goodbye to manual resizing and say hello to effortless, automated scaling that keeps your databases operating smoothly. You start with a feature flag:

PGO_FEATURE_GATES = 'AutoGrowVolumes=true'

Then you can easily set up a cluster to automatically expand its storage, with a specific limit, like this:

dataVolumeClaimSpec:
  accessModes:
    - 'ReadWriteOnce'
  resources:
    requests:
      storage: 500Gi
    limit:
      storage: 2Ti

When the Postgres data volume reaches 75% of its current capacity, CPK will automatically increase the volume size so that you’re at 50% utilization, letting you rest easy. The Postgres cluster will start with the amount of storage defined by the storage request, and will grow up to the limit you define.

pgAdmin enhancements

This release includes several updates to our PGAdmin API. Enjoy the improved user experience and tools in this new pgAdmin update, including easier service integration, external connectivity, and extensive documentation updates and clarifications.

  • Production-Grade Web Server Capabilities: integrated an advanced web server with support for TLS. This ensures that your pgAdmin instances are secure and ready for enterprise-level deployments.
  • Enhanced pgAdmin Backend with Postgres: support for using Postgres as the backend data store for pgAdmin.
  • Advanced pgAdmin User Management: new capabilities introduced via the PGAdmin spec for easier management of user roles and permissions.
  • Automatic Reconciliation of pgAdmin Service: reduces the manual effort required to maintain your pgAdmin instances.

Set Postgres passwords declaratively

Managing passwords for your Postgres users has become easier with Crunchy Postgres for Kubernetes 5.6. Now, you can declaratively define passwords for the different Postgres users in the users section of your PostgresCluster spec. This means you can predefine Secrets with the precise passwords you want your Postgres clusters to use, instead of modifying passwords after cluster creation.

To start, create a Secret for a Postgres user named rhino as follows:

apiVersion: v1
kind: Secret
metadata:
  name: hippo-pguser-rhino
  labels:
    postgres-operator.crunchydata.com/cluster: hippo
    postgres-operator.crunchydata.com/pguser: rhino
stringData:
  password: river

Note that we simply provide the password data, along with the labels needed to associate the Secret with the correct PostgresCluster and user.

Now add the rhino user to your PostgresCluster spec.

spec:
  users:
    - name: rhino

And when you now proceed with creating the PostgresCluster, the password will be set to the value provided in the hippo-pguser-rhino Secret! Remember that all Secret values are base64 encoded and Kuberentes provides a stringData field to allow users to provide the plaintext value.

Fully managed cloud Postgres API

With Crunchy Postgres for Kubernetes, now you can seamlessly create and manage clusters in our fully managed cloud Postgres environment, Crunchy Bridge. This integration provides the flexibility of using both self-managed Kubernetes clusters and managed database services, giving you the best of both worlds. Leverage Crunchy Bridge's managed services while enjoying the control and familiarity of Kubernetes and your GitOps workflow.

Additional features in this release:

  • Configure the service type for the Postgres replica service: Use ClusterIP, NodePort or LoadBalancer for the Postgres replica Service depending on your specific use case.
  • SeccompProfile is now set to RuntimeDefault in all Pods: The SeccompProfile setting for all CPK deploy Pods now fully aligns with the Restricted Pod Security Standard.
  • pgAdmin and pgBackRest repo hosts will now recover from a bad rollout: You no longer need manually delete Pods recover from an unsuccessful pgAdmin or pgBackRest rollout. Simply update your spec to fix any incorrect image definitions or other misconfigurations, and CPK will handle the rest.

Upgrade to Crunchy Postgres for Kubernetes 5.6

Crunchy Postgres for Kubernetes supports in-place upgrades and a simple upgrade process. To access our newest features, update using the method you started with. For Helm, it is as simple as:

kubectl apply --server-side --force-conflicts -f helm/install/crds

helm upgrade $NAME -n $NAMESPACE

For customers using OpenShift and OperatorHub, see the upgrade process.

Final Thoughts

Crunchy Postgres for Kubernetes 5.6 continues our tradition of delivering cutting-edge tools and features that make managing Postgres clusters a breeze. Whether you're running in the cloud or on-premises, CPK 5.6 is designed to simplify your workflow and enhance your Postgres experience. Download it today and see how the latest features can transform your database operations.

Check the release notes for all of the updates and new features that are part of CPK 5.6, and stay tuned for more information and detailed guides, and don't hesitate to reach out to our team for assistance. We're excited to help you make the most of Crunchy Postgres for Kubernetes 5.6!

Avatar for Greg Nokes

Written by

Greg Nokes

June 11, 2024 More by this author