Declarative pausing and resuming#

_declarative pausing and resume_機能は、データベースPVCを維持しながらデータベースポッドを削除することにより、CPUパワーを節約できます。

宣言的な一時停止と再開は、EDB CloudNativePGクラスターで使用可能なハイバーネーション機能を活用します。ハイバーネーションの詳細と説明については、 Postgres for Kubernetes documentation on declarative hibernation を参照してください。

目的のPGDグループにk8s.pgd.enterprisedb.io/pause アノテーションを追加して、一時停止を要求します。

例

kubectl annotate pgdgroup region-a k8s.pgd.enterprisedb.io/pause=on

数秒後、要求されたPGDグループは一時停止状態になり、すべてのデータベースポッドが削除されます。

kubectl get pgdgroups

NAME       DATA INSTANCES   WITNESS INSTANCES   PHASE                   AGE
region-a   2                1                   PGDGroup - Paused       25m
region-b   2                1                   PGDGroup - Healthy      25m
region-c   0                1                   PGDGroup - Healthy      25m

一時停止したPGDグループを再開するには、アノテーションをoff に設定します。 --overwrite フラグを追加することを忘れないでください。

kubectl annotate pgdgroup region-a k8s.pgd.enterprisedb.io/pause=off --overwrite

数秒で、ノードが再開を開始し、ポッドが再作成されるのが表示されます。

kubectl get pgdgroups

NAME       DATA INSTANCES   WITNESS INSTANCES   PHASE                   AGE
region-a   2                1                   Pause - resume nodes       1m
region-b   2                1                   PGDGroup - Healthy      25m
region-c   0                1                   PGDGroup - Healthy      25m

一時停止アノテーションがPGDグループを一時停止する前に、いくつかの要件があります。理想的には、PGDグループは正常状態である必要があります。または、 PGDグループ内のすべてのデータノードが個々のレベルで正常な場合、一時停止を開始することもできます。