postgres-operator - Crunchy DataのPostgresオペレーターであるPGOは、PostgreSQLクラスターを自動的に管理する宣言型のPostgresソリューションを提供します。

(Production PostgreSQL for Kubernetes, from high availability Postgres clusters to full-scale database-as-a-service.)

Created at: 2017-02-28 06:21:44
Language: Go
License: Apache-2.0

PGO:CrunchyDataのPostgresオペレーター

PGO:CrunchyDataのPostgresオペレーター

通知表に行く

プロダクションPostgresが簡単に

Crunchy DataPostgresオペレーターであるPGOは、 PostgreSQLクラスターを自動的に管理する宣言型のPostgresソリューションを提供します。

GitOpsワークフロー用に設計されているため、PGOを使用してKubernetesでPostgresを簡単に開始できます。数秒以内に、安全なTLS通信全体で、高可用性、ディザスタリカバリ、および監視を備えた本番環境グレードのPostgresクラスターを完成させることができます。さらに良いことに、PGOを使用すると、Postgresクラスターを簡単にカスタマイズしてワークロードに合わせて調整できます。

Postgresクラスターのクローンを作成することから、ローリング更新を使用して最小限のダウンタイムで破壊的な変更を展開することなどの便利な機能により、PGOはリリースパイプラインのすべての段階でPostgresデータをサポートする準備ができています。復元力と稼働時間のために構築されたPGOは、Postgresクラスターを目的の状態に保つため、心配する必要はありません。

PGOは、KubernetesでのPostgres管理の自動化における長年の生産経験を基に開発されており、データを常に利用できるようにするシームレスなクラウドネイティブPostgresソリューションを提供します。

インストール

CrunchyDataのPostgresOperatorであるPGOをインストールして起動し、実行する方法については、クイックスタートに従うことをお勧めします。ただし、試してみるのが待ちきれない場合は、PostgresをKubernetesで起動して実行するための手順を次に示します。

  1. Postgres Operatorサンプルリポジトリをフォークし、ホストマシンに複製します。例えば:
YOUR_GITHUB_UN="<your GitHub username>"
git clone --depth 1 "[email protected]:${YOUR_GITHUB_UN}/postgres-operator-examples.git"
cd postgres-operator-examples
  1. 走る
    kubectl apply -k kustomize/install

詳細については、クイックスタートチュートリアルをお読みください。

Kubernetes用のクラウドネイティブPostgres

Crunchy DataのPostgresオペレーターであるPGOには、Kubernetesでの完全なクラウドネイティブPostgresエクスペリエンスに必要なすべての機能が付属しています。

PostgreSQLクラスタープロビジョニング

ポッドとPostgreSQL構成を完全にカスタマイズしながら、PostgreSQLクラスターを簡単に作成、スケーリング、および削除できます。

高可用性

分散コンセンサス高可用性ソリューションに裏打ちされた安全な自動フェイルオーバー。ポッドアンチアフィニティを使用して復元力を強化します。これがどれほど積極的になるかを設定できます!障害が発生したプライマリは自動的に修復されるため、回復時間が短縮されます。

複数のKubernetesクラスター内および複数のKubernetesクラスター間で機能するスタンバイPostgreSQLクラスターのサポート。

災害からの回復

バックアップ復元は、オープンソースのpgBackRestユーティリティを 活用しており、完全バックアップ、増分バックアップ、差分バックアップ、および効率的なデルタ復元のサポートが含まれています。バックアップを保持する期間を設定します。非常に大規模なデータベースでうまく機能します!

セキュリティとTLS

PGOは、すべての接続がTLSを介していることを強制します。PGOが提供するデフォルトを使用したくない場合は、独自のTLSインフラストラクチャを持参することもできます。

PGOは、ロックダウンされた設定でコンテナーを実行し、アプリケーションをデータに接続するための安全で便利な方法でPostgresクレデンシャルを提供します。

モニタリング

オープンソースのpgMonitorライブラリを使用してPostgreSQLクラスターの状態を追跡します。

アップグレード管理

PostgreSQLクラスターの可用性への影響を最小限に抑えてPostgreSQLアップデートを安全に適用します。

高度なレプリケーションのサポート

トランザクションの損失に敏感なワークロードには、非同期レプリケーションと同期レプリケーションのどちらかを選択します。

クローン

効率的なデータのクローン作成を使用して、既存のクラスターまたはバックアップから新しいクラスターを作成します。

接続プール

pgBouncerを使用した高度な接続プールのサポート。

ポッドの反親和性、ノードの親和性、ポッドの許容範囲

PostgreSQLクラスターを好みのKubernetesノードにデプロイします。ポッドの非アフィニティ、ノードアフィニティ、ポッドの許容範囲などのルールを設定して、展開トポロジをカスタマイズします。

スケジュールされたバックアップ

バックアップのタイプ(完全、増分、差分)と、各PostgreSQLクラスターでバックアップを実行する頻度を選択します。

ローカルストレージ、S3GCSAzure、またはコンボへのバックアップ!

バックアップは、AmazonS3またはS3プロトコルをサポートする任意のオブジェクトストレージシステムに保存します。バックアップをGoogleCloudStorageとAzureBlobStorageに保存することできます

組み合わせて使用​​することもできます。PGOを使用すると、バックアップを複数の場所に保存できます。

完全なカスタマイズ性

PGOを使用すると、Postgresクラスターを完全にカスタマイズしてワークロードに合わせて調整することが簡単になります。

名前空間

PGOをデプロイして、すべての名前空間でPostgresクラスターを監視するか、PGOがPostgresクラスターを管理する名前空間を制限します。

含まれるコンポーネント

PostgreSQLオペレーターでデプロイされたPostgreSQLコンテナーには、次のコンポーネントが含まれています。

上記に加えて、地理空間的に強化されたPostgreSQL+PostGISコンテナは次のコンポーネントを追加します。

PostgreSQL Operator Monitoringは、次のコンポーネントを使用します。

PostgreSQLオペレーターと直接統合されていないが、それと一緒に機能できる追加のコンテナーには、次のものがあります。

PostgreSQLオペレーターのどのバージョンにどのコンポーネントが含まれているかについての詳細は、ドキュメントの互換性セクションをご覧ください。

サポートされているプラ​​ットフォーム

Crunchy DataのPostgresオペレーターであるPGOは、次のプラットフォームでテストされています。

  • Kubernetes 1.20+
  • OpenShift 4.6+
  • ランチャー
  • Anthosを含むGoogleKubernetesEngine(GKE)
  • アマゾンEKS
  • Microsoft AKS
  • VMwareタンズ

このリストには、PostgresOperatorがリリースプロセスの一部として具体的にテストされているプラ​​ットフォームのみが含まれています。PGOは他のKubernetesディストリビューションでも機能します。

プロジェクトへの貢献

PostgreSQLオペレータープロジェクトに貢献したいですか?素晴らしい!ここで確認できる一連の貢献ガイドラインをまとめました。

プルリクエストを送信する準備ができたら、次のことを確認してください。

  1. 貢献するガイドラインを確認し、コミットメッセージ形式に従っていることを確認し、必要に応じてテストを追加し、変更を文書化します。
  2. ガイドラインに基づいてプルリクエストを開きます。新しい機能を追加する場合は、
    master
    ブランチでプルリクエストを開いてください。
  3. プルリクエストはできるだけ説明的にしてください。問題を参照している場合は、プルリクエストにその問題を必ず含めてください

サポート

バグを見つけた、または詳細な機能リクエストがあると思われる場合は、GitHubの問題を開き、バグを送信するためのガイドラインに従ってください。

一般的な質問やコミュニティサポートについては、https://groups.google.com/a/crunchydata.com/forum/#!forum / postgres-operator/ joinのPGOプロジェクトコミュニティメーリングリストに参加して質問してください。そこの。

その他の情報については、ドキュメントのサポートセクションをご覧ください。

ドキュメンテーション

PostgreSQLオペレーターの設計、構成、および操作に関する追加情報については、公式プロジェクトドキュメントを参照してください。

ドキュメントのナイトリービルドを探している場合は、次のURLで表示できます。

https://crunchydata.github.io/postgres-operator/latest/

過去のバージョン

以前のリリースのドキュメントは、Crunchy DataAccessPortalにあります。

リリース

PostgreSQLオペレーターの一般可用性(GA)リリースが発生すると、コンテナーイメージは次のプラットフォームに順番に配布されます。

画像のロールアウトは、数日間にわたって発生する可能性があります。

Crunchy Data Developer Portalでリリースが利用可能になる時期についての最新情報を入手するには、Crunchy Data DeveloperProgramNewsletterにサインアップしてください。PGOプロジェクトコミュニティのメーリングリストに参加することもできます

PGO Postgres Operatorプロジェクトのソースコードは、Apache 2.0ライセンスの対象であり、PGOロゴと商標ガイドラインの対象となるブランド資産が含まれています。