RATATOSKRATATOSK
로그인

CloudNativePG

v1.28.0Storage & Data
2025년 12월 9일

CHECK 3OTHER 30

선언형 관리와 보안 설정 구성을 확장하고, 일부 기본값과 지원 작업을 조정한 릴리스입니다. 여러 동작의 정확성과 안정성도 함께 개선되었습니다.

영향 확인 (3)

  • breaking복제본 인스턴스의 네트워크 장애 감지 기본값 변경

    복제본 인스턴스를 실행하는 경우 적용됩니다.

    복제본 인스턴스의 네트워크 장애 감지를 개선하도록 기본 tcp_user_timeout을 5초로 설정합니다.

  • breaking보안 설정 구성 방식 변경

    postgres 또는 operator를 구성하는 경우 적용됩니다.

    보안 설정을 세분화할 수 있도록 securityContext와 containerSecurityContext를 사용하고, 기존 클러스터 전체 postgres 및 operator 사용자 설정을 대체합니다.

  • breakingPgBouncer 인증 데이터베이스 기본값 설정

    PgBouncer를 사용하는 경우 적용됩니다.

    PgBouncer 인증 설정에서 auth_dbname을 pgbouncer 데이터베이스로 자동 설정합니다.

그 외 기록된 변경 30건 전체additions 10 · fixes 9 · value changes 6 · constraints 4 · renames 1

additions (10)

  • Introduced comprehensive declarative management for Foreign Data Wrappers (FDW) by extending the Database CRD. This feature adds the .spec.fdws and .spec.servers fields, allowing you to manage FDW extensions and their corresponding foreign servers directly from the Database resource.
  • Introduced securityContext at the pod level and containerSecurityContext for individual containers (including postgres, init, and sidecars).
  • Introduced the alpha.cnpg.io/unrecoverable=true annotation for replica pods.
  • Introduced a new caching layer for user-defined monitoring queries to reduce load on the PostgreSQL database.
  • Allowed providing stage-specific pg_restore options (preRestore, postRestore, dataRestore) during database import.
  • Added the PostgreSQL majorVersion to the Backup object's status for easier identification and management.
  • Added the PGBOUNCER_IMAGE_NAME operator configuration parameter to allow overriding the default PgBouncer image.
  • Added a --timeout flag to the kubectl cnpg status command for configuring the timeout for filesystem operations such as calculating cluster size.
  • Allowed providing fine-grained custom TLS configurations for PgBouncer. The Pooler CRD was extended with clientTLSSecret, clientCASecret, serverTLSSecret, and serverCASecret fields under .spec.pgbouncer.
  • Added optional TLS support for the operator's metrics server (port 8080). This feature is opt-in and enabled by setting the METRICS_CERT_DIR environment variable, which instructs the operator to look for tls.crt and tls.key files in the specified directory.

fixes (9)

  • Improved resilience of all probe types (liveness, readiness, and startup) to transient Kubernetes API server connectivity issues.
  • Fixed the CheckEmptyWalArchive safeguard to run correctly when restoring from a volume snapshot using CNPG-I backup/WAL plugins (e.g., plugin-barman-cloud).
  • Improved error reporting when ImageCatalog retrieval fails.
  • Fixed TLS certificate verification issues when connecting to CNPG-I plugins by adding the cnpg.io/pluginServerName annotation.
  • Fixed an issue where the instance manager controller could fail to restart after an error, reporting a "controller already exists" message.
  • Fixed incorrect WAL restore path handling in plugins when the destination path is absolute, preventing path duplication issues.
  • Fixed the CREATE PUBLICATION SQL generation for multi-table publications to be backward-compatible with PostgreSQL 13+.
  • Fixed backup failures in complex pod definitions by reliably selecting the postgres container by name instead of by index.
  • Fixed bugs in cnpg report log collection, especially when fetching previous logs.

value changes (6)

  • Promoted the quorum-based failover feature, introduced experimentally in 1.27.0, to a stable API.
  • Updated the default PostgreSQL version to 18.1-system-trixie.
  • Updated the default PgBouncer version to **1.25.1** for new Pooler deployments.
  • Adopted standard Kubernetes recommended labels (e.g., app.kubernetes.io/name) for all resources generated by CloudNativePG (Clusters, Backups, Poolers, etc.).
  • Enhanced cluster restore to wait for all init containers to complete before starting the restore process.
  • Improved cnpg report to generate more shell-friendly file names.

constraints (4)

  • Enabled simultaneous image and configuration changes when using primaryUpdateMethod: restart, allowing you to update the container image (including PostgreSQL version or extensions) and PostgreSQL configuration settings in the same operation.
  • Enabled cnpg report operator to work with minimal permissions by making only the operator deployment required.
  • Kubernetes 1.34, 1.33, and 1.32
  • PostgreSQL 18, 17, 16, 15, and 14 - PostgreSQL 18.1 is the default image

renames (1)

  • This data-driven failover mechanism is now configured via the spec.postgresql.synchronous.failoverQuorum field, graduating from the previous alpha.cnpg.io/failoverQuorum annotation.
CloudNativePG 스택에 추가

조치가 필요한 릴리스가 나왔을 때 주간 메일로 알려드립니다. 이번 릴리스의 브레이킹 체인지 같은 것들입니다.

스택에 추가 →