Upgrading CloudNativePG 1.20.1

CloudNativePG1.20.1がリリースされたようなので、アップグレードしてみた。

Upgrading Operator

最新のoperator manifestを適用。

kubectl apply -f https://raw.githubusercontent.com/cloudnative-pg/cloudnative-pg/release-1.20/releases/cnpg-1.20.1.yaml
namespace/cnpg-system unchanged
customresourcedefinition.apiextensions.k8s.io/backups.postgresql.cnpg.io configured
customresourcedefinition.apiextensions.k8s.io/clusters.postgresql.cnpg.io configured
customresourcedefinition.apiextensions.k8s.io/poolers.postgresql.cnpg.io configured
customresourcedefinition.apiextensions.k8s.io/scheduledbackups.postgresql.cnpg.io configured
serviceaccount/cnpg-manager unchanged
clusterrole.rbac.authorization.k8s.io/cnpg-manager configured
clusterrolebinding.rbac.authorization.k8s.io/cnpg-manager-rolebinding unchanged
configmap/cnpg-default-monitoring unchanged
service/cnpg-webhook-service unchanged
deployment.apps/cnpg-controller-manager configured
mutatingwebhookconfiguration.admissionregistration.k8s.io/cnpg-mutating-webhook-configuration configured
validatingwebhookconfiguration.admissionregistration.k8s.io/cnpg-validating-webhook-configuration configured

podが再起動される。

kubectl -n cnpg-system get all                                                                                                                ✘ 1
NAME                                          READY   STATUS    RESTARTS   AGE
pod/cnpg-controller-manager-555597c76-l7m9g   1/1     Running   0          17m

NAME                           TYPE        CLUSTER-IP       EXTERNAL-IP   PORT(S)   AGE
service/cnpg-webhook-service   ClusterIP   10.245.151.117   <none>        443/TCP   35d

NAME                                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/cnpg-controller-manager   1/1     1            1           35d

NAME                                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/cnpg-controller-manager-555597c76    1         1         1       17m
replicaset.apps/cnpg-controller-manager-6848c4b79b   0         0         0       35d

Upgrading PostgreSQL Cluster

manifestを更新、spec:imageNameを”ghcr.io/cloudnative-pg/postgresql:15.3″に変更。

---
apiVersion: postgresql.cnpg.io/v1
kind: Cluster
metadata:
  name: cnpg1
  namespace: cnpg
spec:
  imageName: ghcr.io/cloudnative-pg/postgresql:15.3  
  instances: 2
  minSyncReplicas: 1
  maxSyncReplicas: 1  

  storage:
    storageClass: do-block-storage-xfs
    size: 1Gi

  monitoring:
    enablePodMonitor: true

  backup:
    barmanObjectStore:
      destinationPath: "s3://hoge-fuga/cnpg-backup/"
      endpointURL: "https://sgp1.digitaloceanspaces.com"
      s3Credentials:
        accessKeyId:
          name: backup-creds
          key: ACCESS_KEY_ID
        secretAccessKey:
          name: backup-creds
          key: ACCESS_SECRET_KEY
      wal:
        compression: gzip
        encryption: AES256
      data:
        compression: gzip
        encryption: AES256
        immediateCheckpoint: false
        jobs: 2
    retentionPolicy: "30d"

ステータス確認

kubectl cnpg -n cnpg status cnpg1
Cluster Summary
Name:               cnpg1
Namespace:          cnpg
System ID:          7236262496654274579
PostgreSQL Image:   ghcr.io/cloudnative-pg/postgresql:15.3
Primary instance:   cnpg1-1
Status:             Cluster in healthy state
Instances:          2
Ready instances:    2
Current Write LSN:  27/18009630 (Timeline: 5 - WAL File: 000000050000002700000018)

Certificates Status
Certificate Name   Expiration Date                Days Left Until Expiration
----------------   ---------------                --------------------------
cnpg1-ca           2023-08-21 06:28:56 +0000 UTC  55.26
cnpg1-replication  2023-08-21 06:28:56 +0000 UTC  55.26
cnpg1-server       2023-08-21 06:28:56 +0000 UTC  55.26

Continuous Backup status
First Point of Recoverability:  2023-05-24T08:26:18Z
Working WAL archiving:          OK
WALs waiting to be archived:    0
Last Archived WAL:              000000050000002700000017   @   2023-06-27T00:15:48.401719Z
Last Failed WAL:                -

Streaming Replication status
Name     Sent LSN     Write LSN    Flush LSN    Replay LSN   Write Lag  Flush Lag  Replay Lag  State      Sync State  Sync Priority
----     --------     ---------    ---------    ----------   ---------  ---------  ----------  -----      ----------  -------------
cnpg1-2  27/18009630  27/18009630  27/18009630  27/18009630  00:00:00   00:00:00   00:00:00    streaming  quorum      1

Unmanaged Replication Slot Status
No unmanaged replication slots found

Instances status
Name     Database Size  Current LSN  Replication role  Status  QoS         Manager Version  Node
----     -------------  -----------  ----------------  ------  ---         ---------------  ----
cnpg1-1  67 MB          27/18009630  Primary           OK      BestEffort  1.20.1           dok8s-pool-f6du4
cnpg1-2  67 MB          27/18009630  Standby (sync)    OK      BestEffort  1.20.1           dok8s-pool-f6duh

psqlで接続してバージョン確認

kubectl cnpg -n cnpg psql cnpg1
psql (15.3 (Debian 15.3-1.pgdg110+1))
Type "help" for help.

postgres=# select version();
                                                           version
-----------------------------------------------------------------------------------------------------------------------------
 PostgreSQL 15.3 (Debian 15.3-1.pgdg110+1) on x86_64-pc-linux-gnu, compiled by gcc (Debian 10.2.1-6) 10.2.1 20210110, 64-bit
(1 row)

コメントを残す

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