Failed to create Pod: patroni-version-check

Description:

An error is logged during reconciliation when attempting to create the patroni-version-check pod if resources requests are set on the PerconaPGCluster resource.

This seems to be caused by the PodLevelResources feature gate that was introduced in kubernetes 1.32 and enabled by default in 1.34. In v2.7.0 of the controller, the version-check pod defaults to the ResourceRequirements of the first instance which now exceeds the pod-level requirements.

TL;DR: The main branch already has a fix (see additional information below) so my ultimate question is what is the timeline for the next release that will contain the fix? Thanks in advance :slight_smile:

Steps to Reproduce:

Create a PerconaPGCluster with resource requirements defined on the first instance: spec.instances.0.resources.requests

Version:

Percona Postgresql Operator: 2.7.0
Kubernetes: 1.34.1

Logs:

check patroni version: failed to create pod to check patroni version: Pod \"postgres-infra-patroni-version-check\" is invalid: spec.resources.requests[memory]: Invalid value: \"32Mi\": must be greater than or equal to aggregate container requests of 6Gi"

Expected Result:

A postgres cluster is successfully deployed.

Actual Result:

The controller fails to create the cluster and logs the above error.

Additional Information:

1 Like

Hi,

Thanks for reaching out! PG operator v2.7.0 is not supported on k8s 1.34. This issue will be resolved in 2.8.0 that is planned for release in upcoming weeks.

1 Like

Thanks for the information :slight_smile: I’ll keep an eye out for the 2.8.0 release.

1 Like