PGO(The Postgres Operator from Crunchy Data)5.3.0がリリースされたのでアップグレード。
アップグレード方法は5.1.2と同じ。
変更点はこちらを参照。kubernetes 1.25、PostgreSQL 15.1がサポートされている。
PGO 5.2.1まではPostgreSQL 14.xを使っていたが、15系のクラスターを新規作成。
apiVersion: postgres-operator.crunchydata.com/v1beta1
kind: PostgresCluster
metadata:
name: hip15a
spec:
image: registry.developers.crunchydata.com/crunchydata/crunchy-postgres:ubi8-15.1-0
postgresVersion: 15
instances:
- name: hip15a
replicas: 2
dataVolumeClaimSpec:
accessModes:
- "ReadWriteOnce"
resources:
requests:
storage: 1Gi
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
podAffinityTerm:
topologyKey: kubernetes.io/hostname
labelSelector:
matchLabels:
postgres-operator.crunchydata.com/cluster: hip15a
postgres-operator.crunchydata.com/instance-set: hip15a
PostgreSQLへの接続
Master/Replicaサーバーの確認
kubectl -n pgo5 get po -l postgres-operator.crunchydata.com/instance-set -L postgres-operator.crunchydata.com/role -o wide
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES ROLE
hip15a-hip15a-7dmb-0 2/2 Running 0 46h 10.244.1.181 dok8s-c2m4p3-mbg31 <none> <none> master
hip15a-hip15a-9c55-0 2/2 Running 0 46h 10.244.2.16 dok8s-c2m4p3-mbg30 <none> <none> replica
Masterサーバーに接続
kubectl -n pgo5 port-forward hip15a-hip15a-7dmb-0 5432:5432
PGPASSWORD=$(kubectl get secrets -n pgo5 hip15a-pguser-postgres -o go-template='{{.data.password | base64decode}}') psql -h localhost -U postgres
バージョン確認
psql (15.1 (Homebrew))
SSL connection (protocol: TLSv1.3, cipher: TLS_AES_256_GCM_SHA384, compression: off)
Type "help" for help.
postgres=#
postgres=#
postgres=# select version();
version
---------------------------------------------------------------------------------------------------------
PostgreSQL 15.1 on x86_64-pc-linux-gnu, compiled by gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-15), 64-bit
(1 row)
postgres=#