© 2022 NTT DATA Corporation 1 © 2022 NTT DATA Corporation PostgreSQLをKubernetes上で活用するためのOperator紹介! 2022年1月14日 株式会社NTTデータ 藤井 雅雄 Cloud Native Database Meetup #3
© 2022 NTT DATA Corporation 2 2 © 2022 NTT DATA Corporation 自己紹介 藤井 雅雄 Database Technical Lead @ NTTデータ データベース研究開発 PostgreSQL 技術支援 PostgreSQLコミッタ レプリケーション WAL圧縮 バックアップ進捗確認 pg_bigm(全文検索モジュール) コミッタ fujii_masao MasaoFujii
© 2022 NTT DATA Corporation 3 3 © 2022 NTT DATA Corporation 本講演について 講演資料は、NTTデータのSlideShareアカウント上で公開予定です。 https://www.slideshare.net/nttdata-tech
© 2022 NTT DATA Corporation 4 PostgreSQLをK8s上で活用するための Operator
© 2022 NTT DATA Corporation 5 5 © 2022 NTT DATA Corporation OperatorによるK8s上のPostgreSQL環境 Operatorを使うことで、 K8s上に簡単にPostgreSQL環境を実現できる! バックアップ モニタリング ログ集約 PostgreSQL HA構成 PostgreSQL PostgreSQL HA構成 セットアップ 操作・監視 Web UI ユーザ
© 2022 NTT DATA Corporation 6 6 © 2022 NTT DATA Corporation K8s Operator for PostgreSQL PostgreSQL開発コミュニティは公式のOperatorを開発・提供していない 様々な企業やコミュニティがPostgreSQL用のOperatorを提供中 • Zalando Postgres Operator • PGO: The Postgres Operator from Crunchy Data • StackGres • Stolon • KubeDB • Cloud Native PostgreSQL • VMware Tanzu SQL with PostgreSQL for Kubernetes etc...
© 2022 NTT DATA Corporation 7 7 © 2022 NTT DATA Corporation K8s Operator for PostgreSQL PostgreSQL開発コミュニティは公式のOperatorを開発・提供していない 様々な企業やコミュニティがPostgreSQL用のOperatorを提供中 • Zalando Postgres Operator • PGO: The Postgres Operator from Crunchy Data • StackGres • Stolon • KubeDB • Cloud Native PostgreSQL • VMware Tanzu SQL with PostgreSQL for Kubernetes etc... 代表的な Operator として紹介
© 2022 NTT DATA Corporation 8 8 © 2022 NTT DATA Corporation Postgres Operator (Zalando)の概要 • ヨーロッパ最大手のファッション系EC企業のZalando SEがメインで開発・OSS提供している Operator • GitHubのスター数は2,228と人気のOperatorのうちの1つ • 初回リリース(v1.0.0)は2018年8月 • MITライセンス • Zalandoでは、K8s上で1400以上のPostgreSQLクラスタを稼働 (出典) "PostgreSQL on K8S at Zalando: Two years in production" talk by Alexander Kukushkin, FOSSDEM 2020 (2022年1月11日時点の情報)
© 2022 NTT DATA Corporation 9 9 © 2022 NTT DATA Corporation PGOの概要 • PostgreSQLコア開発者が複数所属しているPostgreSQL企業のCrunchy Dataが メインで開発・OSS提供しているOperator • GitHubのスター数は2,204と人気のOperatorのうちの1つ • 初回リリース(v1.0)は2017年5月と、一番歴史あるOperator • Apache License 2.0ライセンス (2022年1月11日時点の情報)
© 2022 NTT DATA Corporation 10 10 © 2022 NTT DATA Corporation StackGresの概要 • PostgreSQL企業のOnGresがメインで開発・OSS提供しているOperator • 初回リリース(v0.6)は2019年9月と、新興のOperator • 最新版は2021年10月13日リリースされたv1.0.0 • スター数はGitHubで325、GitLabで60 • AGPLv3ライセンス (商用ライセンスのエンタープライズ版もある) • 次回リリース予定のv1.1.0ではBabelfish for Postgresをサポート予定 (2022年1月11日時点の情報)
© 2022 NTT DATA Corporation 11 11 © 2022 NTT DATA Corporation Operatorの比較表 Zalando PGO StackGres メイン開発企業 Zalando SE Crunchy Data OnGres 初回リリース 2018年8月 2017年5月 2019年9月 最新バージョン 1.7.1 5.0.4 1.0.0 対応PostgreSQL メジャーバージョン 9.6 ~ 14 10 ~ 14 12 ~ 14 ライセンス MIT Apache License 2.0 AGPL v3 スター数 2,228(Github) 2,204(Github) 325(Github)、60(Gitlab) コントリビュータ数 118 85 12 商用サポート - The Crunchy Data Subscription StackGres Enterprise (※1) メイン実装言語 Go Go Java (2022年1月11日時点の情報) (※1) StackGres Enterpriseでは、商用ライセンスで、PostgreSQLのメジャーバージョン5つに対応
© 2022 NTT DATA Corporation 12 技術要素の各Operatorでの 実現方式の比較について 1. 可用性 2. バックアップ 3. 性能監視 4. ログ収集 5. UI/API
© 2022 NTT DATA Corporation 13 13 © 2022 NTT DATA Corporation 1. 可用性の比較 各OperatorともにレプリケーションとPatroniでHA構成を実現 PostgreSQL (スタンバイ) Patroni Pod1 PostgreSQL (プライマリ) Patroni Pod2 PostgreSQL (スタンバイ) Patroni Pod3 レプリケーション レプリケーション 状態監視、自動 フェイルオーバなど
© 2022 NTT DATA Corporation 14 14 © 2022 NTT DATA Corporation Patroniの概要 Patroniは、Zalando SEがメインで開発・OSS提供している PostgreSQLのHA構成テンプレート • MITライセンス • 3台以上のPostgreSQLのHA制御も可能 • ZooKeeperやetcdなどの一貫性が保証された分散データストア(DCS)を ベースにHA制御 • 各Operatorでは、K8sが内部で利用するetcdをPatroniでも利用可能
© 2022 NTT DATA Corporation 15 15 © 2022 NTT DATA Corporation 正常時のPatroniの動作 PostgreSQL (プライマリ) PostgreSQL (同期スタンバイ) PostgreSQL (非同期スタンバイ) Patroni Patroni Patroni ①DBの状態監視 ②etcdの更新 #1 #2 #3 • leader • members などを保存 プライマリ1台、同期スタンバイ1台、非同期スタンバイ1台の構成を想定 各Patroniは、担当するPostgreSQLの状態監視(①)と状態のetcdへの記録(②)を繰り返す ①DBの状態監視 ①DBの状態監視 ②etcdの更新 ②etcdの更新
© 2022 NTT DATA Corporation 16 16 © 2022 NTT DATA Corporation 異常時のPatroniの動作 PostgreSQL (プライマリ) PostgreSQL (同期スタンバイ) PostgreSQL (非同期スタンバイ) Patroni Patroni Patroni ①leaderがexpire #1 #2 #3 • leader • members などを保存 プライマリ1台、同期スタンバイ1台、非同期スタンバイ1台の構成を想定 プライマリが故障すると、Patroniは次にプライマリとなるスタンバイを選択して昇格させる ⑤プライマリに昇格 プライマリ ②leaderの不在を検知 ⑥プライマリ変更を検知 故障 ③#2がプライマリに 昇格できるか確認 ④#2をleaderとして登録 ⑦同期先を#2に変更 同期スタンバイ
© 2022 NTT DATA Corporation 17 17 © 2022 NTT DATA Corporation 2. バックアップの比較 各Operatorはそれぞれバックアップの統合ツールを同梱して利用 • バックアップの定期取得・手動取得、世代管理を手軽に実現 • バックアップから新しいPostgreSQLクラスタを作成(リストア・PITR)することも可能 • バックアップ保管先は各パブリッククラウドのオブジェクトストレージやS3互換ストレージ Zalando PGO StackGres バックアップ統合ツール WAL-E、WAL-G pgBackRest WAL-G PostgreSQL Backup Agent • Amazon S3 • Google Cloud Storage • Azure Blob Storage • S3互換(例:MinIO) Pod
© 2022 NTT DATA Corporation 18 18 © 2022 NTT DATA Corporation 3. 性能監視の比較 Zalandoは、性能監視の仕組みを提供しない PGOとStackGresでは、Exporter(Node、PostgreSQL)による性能情報の収集、 Prometheusによる蓄積、Grafanaによる可視化とAlert Managerによるアラートを手軽に実現できる PostgreSQL PostgreSQL Exporter Pod2 Alert Manager PostgreSQL PostgreSQL Exporter Pod1 Prometheus 収集 アラート 閲覧 収集 データ ソース
© 2022 NTT DATA Corporation 19 19 © 2022 NTT DATA Corporation 3. 性能監視の比較 Zalandoは、性能監視の仕組みを提供しない PGOでは、ExporterやPrometheus、Grafanaなどを同梱するpgMonitorを利用 StackGresでは、Prometheusと連携できる仕組みを提供(Exporterコンテナの組込み自動化など) Zalando PGO StackGres ノード性能情報 の収集 性能監視には、Exporter やPrometheus、 Grafanaなどを自前で導 入・設定する必要がある Node Exporter Node Exporter PostgreSQL 性能情報の収集 PostgreSQL Exporter PostgreSQL Exporter Envoy 性能情報の蓄積 Prometheus Prometheus 性能情報の可視化 Grafana Grafana アラート Alert Manager Alert Manager pgMonitor
© 2022 NTT DATA Corporation 20 20 © 2022 NTT DATA Corporation 4. ログ収集の比較 StackGresでは、PostgreSQLやPatroniのログを各Podから収集する 仕組みをOperatorとして提供 PostgreSQL Fluent Bit Pod2 Fluentd PostgreSQL + Timescale PostgreSQL Fluent Bit Pod1 Patroni Patroni Distributed Log Server REST API
© 2022 NTT DATA Corporation 21 21 © 2022 NTT DATA Corporation 5. UI/APIの比較 ZalandoとStackGresは、K8s APIとは別に、独自APIとそれを使うWebコンソールを提供 PGOは、v4.7までは独自APIとそれを使うCUIを提供していたが、v5.0で削除 PostgreSQL Pod2 PostgreSQL Pod1 Patroni Patroni 独自API K8s API apiVersion: stackgres.io/v1 kind: SGCluster metadata: name: simple spec: instances: 2 postgres: version: 'latest' kubectl マニフェスト Webコンソール
© 2022 NTT DATA Corporation 22 22 © 2022 NTT DATA Corporation Webコンソールの比較 (Zalando) Webコンソールから必要最低限の操作やステータス確認が可能 Webコンソールへのログイン認証はない
© 2022 NTT DATA Corporation 23 23 © 2022 NTT DATA Corporation Webコンソールの比較 (StackGres) Webコンソールから操作できることや確認できるステータスがZalandoより多い Webコンソールへのログイン認証がある ダークモードへの 表示切替もサポート!
© 2022 NTT DATA Corporation 24 StackGresのデモ
© 2022 NTT DATA Corporation 25 PostgreSQL Operator利用時の課題
© 2022 NTT DATA Corporation 26 26 © 2022 NTT DATA Corporation Operator未同梱のPostgreSQLエクステンションの利用 Operator未同梱のエクステンションを利用するための手軽な手段が提供されていない 例えば、エクステンションを組み込んだコンテナイメージを作成して利用する必要がある StackGresは120個以上の エクステンションを同梱していて Web UIから手軽に利用選択 Operator未同梱のエクステンション例 • pg_hint_plan (HINT機能) • pg_bigm (全文検索) • orafce (Oracle互換機能) • mysql_fdw (MySQLアクセス用の Foreign Data Wrapper) • supautils (権限制御)
© 2022 NTT DATA Corporation 27 27 © 2022 NTT DATA Corporation PostgreSQL Operatorでのストレージ検討 PostgreSQL環境のデータ種別ごとに適切なストレージを選定する必要がある データ種別 ストレージタイプ(例) ストレージの選択肢(例) DBデータ ブロックストレージ(高速) ・ パブリッククラウドのブロックストレージ ・ ローカルのブロックストレージ ー OpenEBS ー TopoLVM ー Rook/Ceph(block) など 性能情報 サーバログ ブロックストレージ バックアップ アーカイブログ オブジェクトストレージ ・ パブリッククラウドのオブジェクトストレージ ・ S3互換ストレージ ー MinIO ー Rook/Ceph(object) ー SeaweedFS など
© 2022 NTT DATA Corporation 28 おわりに
© 2022 NTT DATA Corporation 29 29 © 2022 NTT DATA Corporation おわりに PostgreSQLの代表的なOperatorは、Zalando、PGO、StackGres Operatorを使うことで、K8s上に簡単にPostgreSQL環境を実現できる! バックアップ モニタリング ログ集約 PostgreSQL HA構成 PostgreSQL PostgreSQL HA構成 セットアップ 操作・監視 Web UI ユーザ
© 2022 NTT DATA Corporation 30 その他、記載されている会社名、商品名、又はサービス名は、 各社の登録商標又は商標です。
© 2022 NTT DATA Corporation 31 31 © 2022 NTT DATA Corporation Operatorの比較表 Zalando PGO StackGres Capability Level Full Lifecycle Auto Pilot (OperatorHub.io未登録) (2022年1月11日時点の情報) (https://operatorhub.io/)

PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)

  • 1.
    © 2022 NTTDATA Corporation 1 © 2022 NTT DATA Corporation PostgreSQLをKubernetes上で活用するためのOperator紹介! 2022年1月14日 株式会社NTTデータ 藤井 雅雄 Cloud Native Database Meetup #3
  • 2.
    © 2022 NTTDATA Corporation 2 2 © 2022 NTT DATA Corporation 自己紹介 藤井 雅雄 Database Technical Lead @ NTTデータ データベース研究開発 PostgreSQL 技術支援 PostgreSQLコミッタ レプリケーション WAL圧縮 バックアップ進捗確認 pg_bigm(全文検索モジュール) コミッタ fujii_masao MasaoFujii
  • 3.
    © 2022 NTTDATA Corporation 3 3 © 2022 NTT DATA Corporation 本講演について 講演資料は、NTTデータのSlideShareアカウント上で公開予定です。 https://www.slideshare.net/nttdata-tech
  • 4.
    © 2022 NTTDATA Corporation 4 PostgreSQLをK8s上で活用するための Operator
  • 5.
    © 2022 NTTDATA Corporation 5 5 © 2022 NTT DATA Corporation OperatorによるK8s上のPostgreSQL環境 Operatorを使うことで、 K8s上に簡単にPostgreSQL環境を実現できる! バックアップ モニタリング ログ集約 PostgreSQL HA構成 PostgreSQL PostgreSQL HA構成 セットアップ 操作・監視 Web UI ユーザ
  • 6.
    © 2022 NTTDATA Corporation 6 6 © 2022 NTT DATA Corporation K8s Operator for PostgreSQL PostgreSQL開発コミュニティは公式のOperatorを開発・提供していない 様々な企業やコミュニティがPostgreSQL用のOperatorを提供中 • Zalando Postgres Operator • PGO: The Postgres Operator from Crunchy Data • StackGres • Stolon • KubeDB • Cloud Native PostgreSQL • VMware Tanzu SQL with PostgreSQL for Kubernetes etc...
  • 7.
    © 2022 NTTDATA Corporation 7 7 © 2022 NTT DATA Corporation K8s Operator for PostgreSQL PostgreSQL開発コミュニティは公式のOperatorを開発・提供していない 様々な企業やコミュニティがPostgreSQL用のOperatorを提供中 • Zalando Postgres Operator • PGO: The Postgres Operator from Crunchy Data • StackGres • Stolon • KubeDB • Cloud Native PostgreSQL • VMware Tanzu SQL with PostgreSQL for Kubernetes etc... 代表的な Operator として紹介
  • 8.
    © 2022 NTTDATA Corporation 8 8 © 2022 NTT DATA Corporation Postgres Operator (Zalando)の概要 • ヨーロッパ最大手のファッション系EC企業のZalando SEがメインで開発・OSS提供している Operator • GitHubのスター数は2,228と人気のOperatorのうちの1つ • 初回リリース(v1.0.0)は2018年8月 • MITライセンス • Zalandoでは、K8s上で1400以上のPostgreSQLクラスタを稼働 (出典) "PostgreSQL on K8S at Zalando: Two years in production" talk by Alexander Kukushkin, FOSSDEM 2020 (2022年1月11日時点の情報)
  • 9.
    © 2022 NTTDATA Corporation 9 9 © 2022 NTT DATA Corporation PGOの概要 • PostgreSQLコア開発者が複数所属しているPostgreSQL企業のCrunchy Dataが メインで開発・OSS提供しているOperator • GitHubのスター数は2,204と人気のOperatorのうちの1つ • 初回リリース(v1.0)は2017年5月と、一番歴史あるOperator • Apache License 2.0ライセンス (2022年1月11日時点の情報)
  • 10.
    © 2022 NTTDATA Corporation 10 10 © 2022 NTT DATA Corporation StackGresの概要 • PostgreSQL企業のOnGresがメインで開発・OSS提供しているOperator • 初回リリース(v0.6)は2019年9月と、新興のOperator • 最新版は2021年10月13日リリースされたv1.0.0 • スター数はGitHubで325、GitLabで60 • AGPLv3ライセンス (商用ライセンスのエンタープライズ版もある) • 次回リリース予定のv1.1.0ではBabelfish for Postgresをサポート予定 (2022年1月11日時点の情報)
  • 11.
    © 2022 NTTDATA Corporation 11 11 © 2022 NTT DATA Corporation Operatorの比較表 Zalando PGO StackGres メイン開発企業 Zalando SE Crunchy Data OnGres 初回リリース 2018年8月 2017年5月 2019年9月 最新バージョン 1.7.1 5.0.4 1.0.0 対応PostgreSQL メジャーバージョン 9.6 ~ 14 10 ~ 14 12 ~ 14 ライセンス MIT Apache License 2.0 AGPL v3 スター数 2,228(Github) 2,204(Github) 325(Github)、60(Gitlab) コントリビュータ数 118 85 12 商用サポート - The Crunchy Data Subscription StackGres Enterprise (※1) メイン実装言語 Go Go Java (2022年1月11日時点の情報) (※1) StackGres Enterpriseでは、商用ライセンスで、PostgreSQLのメジャーバージョン5つに対応
  • 12.
    © 2022 NTTDATA Corporation 12 技術要素の各Operatorでの 実現方式の比較について 1. 可用性 2. バックアップ 3. 性能監視 4. ログ収集 5. UI/API
  • 13.
    © 2022 NTTDATA Corporation 13 13 © 2022 NTT DATA Corporation 1. 可用性の比較 各OperatorともにレプリケーションとPatroniでHA構成を実現 PostgreSQL (スタンバイ) Patroni Pod1 PostgreSQL (プライマリ) Patroni Pod2 PostgreSQL (スタンバイ) Patroni Pod3 レプリケーション レプリケーション 状態監視、自動 フェイルオーバなど
  • 14.
    © 2022 NTTDATA Corporation 14 14 © 2022 NTT DATA Corporation Patroniの概要 Patroniは、Zalando SEがメインで開発・OSS提供している PostgreSQLのHA構成テンプレート • MITライセンス • 3台以上のPostgreSQLのHA制御も可能 • ZooKeeperやetcdなどの一貫性が保証された分散データストア(DCS)を ベースにHA制御 • 各Operatorでは、K8sが内部で利用するetcdをPatroniでも利用可能
  • 15.
    © 2022 NTTDATA Corporation 15 15 © 2022 NTT DATA Corporation 正常時のPatroniの動作 PostgreSQL (プライマリ) PostgreSQL (同期スタンバイ) PostgreSQL (非同期スタンバイ) Patroni Patroni Patroni ①DBの状態監視 ②etcdの更新 #1 #2 #3 • leader • members などを保存 プライマリ1台、同期スタンバイ1台、非同期スタンバイ1台の構成を想定 各Patroniは、担当するPostgreSQLの状態監視(①)と状態のetcdへの記録(②)を繰り返す ①DBの状態監視 ①DBの状態監視 ②etcdの更新 ②etcdの更新
  • 16.
    © 2022 NTTDATA Corporation 16 16 © 2022 NTT DATA Corporation 異常時のPatroniの動作 PostgreSQL (プライマリ) PostgreSQL (同期スタンバイ) PostgreSQL (非同期スタンバイ) Patroni Patroni Patroni ①leaderがexpire #1 #2 #3 • leader • members などを保存 プライマリ1台、同期スタンバイ1台、非同期スタンバイ1台の構成を想定 プライマリが故障すると、Patroniは次にプライマリとなるスタンバイを選択して昇格させる ⑤プライマリに昇格 プライマリ ②leaderの不在を検知 ⑥プライマリ変更を検知 故障 ③#2がプライマリに 昇格できるか確認 ④#2をleaderとして登録 ⑦同期先を#2に変更 同期スタンバイ
  • 17.
    © 2022 NTTDATA Corporation 17 17 © 2022 NTT DATA Corporation 2. バックアップの比較 各Operatorはそれぞれバックアップの統合ツールを同梱して利用 • バックアップの定期取得・手動取得、世代管理を手軽に実現 • バックアップから新しいPostgreSQLクラスタを作成(リストア・PITR)することも可能 • バックアップ保管先は各パブリッククラウドのオブジェクトストレージやS3互換ストレージ Zalando PGO StackGres バックアップ統合ツール WAL-E、WAL-G pgBackRest WAL-G PostgreSQL Backup Agent • Amazon S3 • Google Cloud Storage • Azure Blob Storage • S3互換(例:MinIO) Pod
  • 18.
    © 2022 NTTDATA Corporation 18 18 © 2022 NTT DATA Corporation 3. 性能監視の比較 Zalandoは、性能監視の仕組みを提供しない PGOとStackGresでは、Exporter(Node、PostgreSQL)による性能情報の収集、 Prometheusによる蓄積、Grafanaによる可視化とAlert Managerによるアラートを手軽に実現できる PostgreSQL PostgreSQL Exporter Pod2 Alert Manager PostgreSQL PostgreSQL Exporter Pod1 Prometheus 収集 アラート 閲覧 収集 データ ソース
  • 19.
    © 2022 NTTDATA Corporation 19 19 © 2022 NTT DATA Corporation 3. 性能監視の比較 Zalandoは、性能監視の仕組みを提供しない PGOでは、ExporterやPrometheus、Grafanaなどを同梱するpgMonitorを利用 StackGresでは、Prometheusと連携できる仕組みを提供(Exporterコンテナの組込み自動化など) Zalando PGO StackGres ノード性能情報 の収集 性能監視には、Exporter やPrometheus、 Grafanaなどを自前で導 入・設定する必要がある Node Exporter Node Exporter PostgreSQL 性能情報の収集 PostgreSQL Exporter PostgreSQL Exporter Envoy 性能情報の蓄積 Prometheus Prometheus 性能情報の可視化 Grafana Grafana アラート Alert Manager Alert Manager pgMonitor
  • 20.
    © 2022 NTTDATA Corporation 20 20 © 2022 NTT DATA Corporation 4. ログ収集の比較 StackGresでは、PostgreSQLやPatroniのログを各Podから収集する 仕組みをOperatorとして提供 PostgreSQL Fluent Bit Pod2 Fluentd PostgreSQL + Timescale PostgreSQL Fluent Bit Pod1 Patroni Patroni Distributed Log Server REST API
  • 21.
    © 2022 NTTDATA Corporation 21 21 © 2022 NTT DATA Corporation 5. UI/APIの比較 ZalandoとStackGresは、K8s APIとは別に、独自APIとそれを使うWebコンソールを提供 PGOは、v4.7までは独自APIとそれを使うCUIを提供していたが、v5.0で削除 PostgreSQL Pod2 PostgreSQL Pod1 Patroni Patroni 独自API K8s API apiVersion: stackgres.io/v1 kind: SGCluster metadata: name: simple spec: instances: 2 postgres: version: 'latest' kubectl マニフェスト Webコンソール
  • 22.
    © 2022 NTTDATA Corporation 22 22 © 2022 NTT DATA Corporation Webコンソールの比較 (Zalando) Webコンソールから必要最低限の操作やステータス確認が可能 Webコンソールへのログイン認証はない
  • 23.
    © 2022 NTTDATA Corporation 23 23 © 2022 NTT DATA Corporation Webコンソールの比較 (StackGres) Webコンソールから操作できることや確認できるステータスがZalandoより多い Webコンソールへのログイン認証がある ダークモードへの 表示切替もサポート!
  • 24.
    © 2022 NTTDATA Corporation 24 StackGresのデモ
  • 25.
    © 2022 NTTDATA Corporation 25 PostgreSQL Operator利用時の課題
  • 26.
    © 2022 NTTDATA Corporation 26 26 © 2022 NTT DATA Corporation Operator未同梱のPostgreSQLエクステンションの利用 Operator未同梱のエクステンションを利用するための手軽な手段が提供されていない 例えば、エクステンションを組み込んだコンテナイメージを作成して利用する必要がある StackGresは120個以上の エクステンションを同梱していて Web UIから手軽に利用選択 Operator未同梱のエクステンション例 • pg_hint_plan (HINT機能) • pg_bigm (全文検索) • orafce (Oracle互換機能) • mysql_fdw (MySQLアクセス用の Foreign Data Wrapper) • supautils (権限制御)
  • 27.
    © 2022 NTTDATA Corporation 27 27 © 2022 NTT DATA Corporation PostgreSQL Operatorでのストレージ検討 PostgreSQL環境のデータ種別ごとに適切なストレージを選定する必要がある データ種別 ストレージタイプ(例) ストレージの選択肢(例) DBデータ ブロックストレージ(高速) ・ パブリッククラウドのブロックストレージ ・ ローカルのブロックストレージ ー OpenEBS ー TopoLVM ー Rook/Ceph(block) など 性能情報 サーバログ ブロックストレージ バックアップ アーカイブログ オブジェクトストレージ ・ パブリッククラウドのオブジェクトストレージ ・ S3互換ストレージ ー MinIO ー Rook/Ceph(object) ー SeaweedFS など
  • 28.
    © 2022 NTTDATA Corporation 28 おわりに
  • 29.
    © 2022 NTTDATA Corporation 29 29 © 2022 NTT DATA Corporation おわりに PostgreSQLの代表的なOperatorは、Zalando、PGO、StackGres Operatorを使うことで、K8s上に簡単にPostgreSQL環境を実現できる! バックアップ モニタリング ログ集約 PostgreSQL HA構成 PostgreSQL PostgreSQL HA構成 セットアップ 操作・監視 Web UI ユーザ
  • 30.
    © 2022 NTTDATA Corporation 30 その他、記載されている会社名、商品名、又はサービス名は、 各社の登録商標又は商標です。
  • 31.
    © 2022 NTTDATA Corporation 31 31 © 2022 NTT DATA Corporation Operatorの比較表 Zalando PGO StackGres Capability Level Full Lifecycle Auto Pilot (OperatorHub.io未登録) (2022年1月11日時点の情報) (https://operatorhub.io/)