Container Image Requirements

KubernetesのCloudNativePGオペレーターは、次の要件を満たす互換性のあるPostgreSQLコンテナイメージで動作するように設計されています。

  • PostgreSQL実行可能ファイルはシステムパスで利用できる必要があります。

  • initdb

  • postgres

  • pg_ctl

  • pg_controldata

  • pg_basebackup

  • 適切なロケール設定が構成済み

オプションのコンポーネント

  • PGAudit 拡張機能監査ログが必要な場合にのみ必要

  • du kubectl cnpg status に使用

注釈

PostgreSQL versions officially supported by PGDG のみが許可されます。

注釈

Barman Cloud実行可能ファイルは、CloudNativePGでは必要なくなりました。推奨されるアプローチは、専用の Barman Cloud Plugin を使用することです。

イメージ定義にエントリーポイントもコマンドも必要ありません。 CloudNativePGは、インスタンスマネージャーで自動的にオーバーライドします。

警告

CloudNativePGは、PostgreSQLアプリケーションコンテナイメージの**マルチプル/オプショナルのホットスタンバイサーバーアーキテクチャを備えたプライマリ**のみをサポートしています。

CloudNativePGコミュニティは、 public PostgreSQL container images を提供および保守します

CloudNativePGと完全な互換性があります。これらの画像は ghcr.io で公開されています。

イメージタグの要件

オペレーターが情報に基づいた決定を下せるように、PostgreSQLメジャーバージョンを正確に検出する必要があります。この検出は2つの方法で発生できます。

  1. imageCatalogRefmajor フィールドが定義されている場合、それを利用します。

  2. 明示的に指定されていない場合、imageName のイメージタグからメジャーバージョンを自動検出します。

自動検出が機能するには、イメージタグが特定の形式に準拠している必要があります。これは、有効なPostgreSQLメジャーバージョン番号15.6または16などで始まり、オプションでドットとパッチレベルが続く必要があります。

これに続いて、タグには、Dockerタグで受け入れられる有効な文字の組み合わせを含めることができ、前にドット、アンダースコア、またはマイナス記号が続きます。

受け入れられるイメージタグの例

  • 12.1

  • 13.3.2.1-1

  • 13.4

  • 14

  • 15.5-10

  • 16.0

警告

latest は、画像の有効なタグとは見なされません。

注釈

イメージタグ要件は、カタログで定義されたイメージには適用されません。