Upgrading PGO 4.7.5

PGO(The Postgres Operator from Crunchy Data)4.7.5がリリースされたのでアップグレード。

Update PostgreSQL Operator

4.7.5のマニフェストを取得

curl -LO https://raw.githubusercontent.com/CrunchyData/postgres-operator/v4.7.5/installers/kubectl/postgres-operator.yml > pgo-4.7.5.yaml

マニフェストを編集、pgo-deploy > DEPLOY_ACTIONをinstall->updateに変更。

--- postgres-operator.yml	2022-03-19 09:56:27.000000000 +0900
+++ pgo-4.7.5.yml	2022-03-16 19:16:48.000000000 +0900
@@ -201,11 +201,11 @@
     scheduler_timeout: "3600"
     service_type: "ClusterIP"
     sync_replication: "false"
-    backrest_storage: "default"
-    backup_storage: "default"
-    primary_storage: "default"
-    replica_storage: "default"
-    pgadmin_storage: "default"
+    backrest_storage: "do-bs"
+    backup_storage: "do-bs"
+    primary_storage: "do-bs"
+    replica_storage: "do-bs"
+    pgadmin_storage: "do-bs"
     wal_storage: ""
     storage1_name: "default"
     storage1_access_mode: "ReadWriteOnce"
@@ -251,6 +251,11 @@
     storage9_size: "1Gi"
     storage9_type: "dynamic"
     storage9_class: "rook-ceph-block"
+    storage10_name: "do-bs"
+    storage10_access_mode: "ReadWriteOnce"
+    storage10_size: "1Gi"
+    storage10_type: "dynamic"
+    storage10_class: "do-block-storage"
 ---
 apiVersion: rbac.authorization.k8s.io/v1
 kind: ClusterRoleBinding
@@ -290,7 +295,7 @@
           imagePullPolicy: IfNotPresent
           env:
             - name: DEPLOY_ACTION
-              value: install
+              value: update
           volumeMounts:
             - name: deployer-conf
               mountPath: "/conf"

Diff finished.  Sat Mar 19 10:01:15 2022

マニフェストを適用。

kubectl apply -f pgo-4.7.5.yml

pgo-deployジョブが完了していることを確認。

NAME                   COMPLETIONS   DURATION   AGE
job.batch/pgo-deploy   1/1           2m7s       2m12s

pgo-deployジョブを削除。

kubectl delete -f pgo-4.7.5.yml

PGO cliのアップデート

pgo-cli-4.7.4 を退避。

cd ~/.pgo
mv pgo pgo-4.7.4

client-setup.shスクリプトをダウンロード・実行

curl https://raw.githubusercontent.com/CrunchyData/postgres-operator/v4.7.5/installers/kubectl/client-setup.sh > client-setup.sh
chmod 755 client-setup.sh
./client-setup.sh

pgo-cli動作確認

kubectl -n pgo port-forward svc/postgres-operator 8443:8443
pgo version
pgo client version 4.7.5
pgo-apiserver version 4.7.5

PostgreSQLクラスタのアップグレード

pgo upgrade hippo1

大体5分くらいかかる。

アップグレードの状態確認

pgo show cluster hippo1

cluster : hippo1 (crunchy-postgres-ha:centos8-13.6-4.7.5)
        pod : hippo1-fboq-67747cd447-4zkrf (Running) on dok8s-pool1-uz8fk (1/1) (primary)
                pvc: hippo1-fboq (1Gi)
        pod : hippo1-klro-f9589ccfd-vl8cq (Running) on dok8s-pool1-uz8fk (1/1) (replica)
                pvc: hippo1-klro (1Gi)
        resources : Memory: 128Mi
        deployment : hippo1-backrest-shared-repo
        deployment : hippo1-fboq
        deployment : hippo1-klro
        deployment : hippo1-pgbouncer
        service : hippo1 - ClusterIP (10.245.59.237) - Ports (2022/TCP, 5432/TCP)
        service : hippo1-pgbouncer - ClusterIP (10.245.239.253) - Ports (5432/TCP)
        service : hippo1-replica - ClusterIP (10.245.33.199) - Ports (2022/TCP, 5432/TCP)
        pgreplica : hippo1-klro
        labels : name=hippo1 pg-cluster=hippo1 pgo-version=4.7.5 pgouser=admin workflowid=6886dca1-e6f5-4cc0-a3f3-b5159c2af06c deployment-name=hippo1-fboq

pgo-version=4.7.5に更新されている。

pgo test hippo1

cluster : hippo1
        Services
                primary (10.245.59.237:5432): UP
                pgbouncer (10.245.239.253:5432): UP
                replica (10.245.33.199:5432): UP
        Instances
                primary (hippo1-fboq-67747cd447-4zkrf): UP
                replica (hippo1-klro-f9589ccfd-vl8cq): UP

Primary/Replicaのサービス・インスタンスもUPステータスになっている。

pgo show backup hippo1 | head -10

cluster: hippo1
storage type: s3

stanza: db
    status: ok
    cipher: none

    db (current)
        wal archive min/max (13-1)

バックアップステータスもOK

kubectl -n pgo port-forward svc/hippo1 5432:5432
psql -h localhost -U postgres
Password for user postgres:
psql (14.2, server 13.6)
Type "help" for help.

postgres=# select version();
                                                version
--------------------------------------------------------------------------------------------------------
 PostgreSQL 13.6 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-4), 64-bit
(1 row)

PostgreSQLも13.6にアップグレードされている。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です