Felhasználói eszközök

Eszközök a webhelyen


kubernetes:stackgres:monitoring

Ez a dokumentum egy előző változata!


Kubernetes StackGres

Állapot ellenőrzés, monitorozás

Kubernetes állapot ellenőrzés

A következő utasítások futtatása előtt be kell állítani a névteret.

export NAMESPACE=<névtér>
POD-ok ellenőrzése
$ kubectl get pods -n $NAMESPACE -o wide
NAME           READY   STATUS    RESTARTS     AGE   IP           NODE     NOMINATED NODE   READINESS GATES
pg-cluster-0   5/5     Running   6 (5d ago)   37d   10.244.0.5   kube01   <none>           <none>
pg-cluster-1   5/5     Running   7 (5d ago)   37d   10.244.2.5   kube03   <none>           <none>
pg-cluster-2   5/5     Running   8 (5d ago)   37d   10.244.1.8   kube02   <none>           <none>

Amennyiben hiba van (bármelyik POD állapota nem Running, akkor az alábbi ellenőrzések szükségesek a hibás POD nevét megadva (a példában ez a pg-cluster-0 nevű pod).

$ kubectl describe pod pg-cluster-0 -n $NAMESPACE
Name:             pg-cluster-0
Namespace:        lapodb-postgres
Priority:         0
Service Account:  pg-cluster-patroni
Node:             kube01/192.168.110.161
Start Time:       Sun, 03 May 2026 17:31:59 +0200
Labels:           app=StackGresCluster
                  apps.kubernetes.io/pod-index=0
                  controller-revision-hash=pg-cluster-7f856d76dc
                  nofailover=false
                  noloadbalance=false
                  role=primary
                  stackgres.io/cluster=true
                  stackgres.io/cluster-name=pg-cluster
                  stackgres.io/cluster-scope=pg-cluster
                  stackgres.io/cluster-uid=27cdba8f-3477-4740-848d-6f82c45c405a
                  stackgres.io/disruptible=true
                  statefulset.kubernetes.io/pod-name=pg-cluster-0
Annotations:      stackgres.io/cluster-controller-version: 1.18.6
                  stackgres.io/operatorVersion: 1.18.6
                  stackgres.io/patroni-version: 4.1.0
                  stackgres.io/pgbouncer-version: 1.25.1
                  stackgres.io/postgresql-version: 18.3
                  stackgres.io/prometheus-postgres-exporter-version: 0.19.0
                  status:
                    {"conn_url":"postgres://10.244.0.5:5432/postgres","api_url":"http://10.244.0.5:8009/patroni","state":"running","role":"primary","version":...
Status:           Running
IP:               10.244.0.5
IPs:
  IP:           10.244.0.5
Controlled By:  StatefulSet/pg-cluster
...
Node-Selectors:              node-role.kubernetes.io/postgres=true
Tolerations:                 node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
                             node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:                      <none>

POD-ban található konténerek nevének meghatározása.

$ kubectl get pod pg-cluster-0 -n $NAMESPACE -o jsonpath='{.spec.containers[*].name}{"\n"}'
patroni pgbouncer prometheus-postgres-exporter postgres-util cluster-controller

A PostgreSQL példány a patroni konténerben fut.

$ kubectl logs pg-cluster-0 -c patroni -n $NAMESPACE
...
2026-06-10 08:26:26 UTC [596361]: db=postgres,user=postgres,app=[unknown],client=127.0.0.1 LOG:  connection authorized: user=postgres database=postgres SSL enabled (protocol=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384, bits=256)
2026-06-10 08:26:26 UTC [596361]: db=postgres,user=postgres,app=PostgreSQL JDBC Driver,client=127.0.0.1 LOG:  disconnection: session time: 0:00:00.026 user=postgres database=postgres host=127.0.0.1 port=48302
2026-06-10 08:26:33,319 INFO: no action. I am (pg-cluster-0), the leader with the lock
StackGres objektumok ellenőrzése
$ kubectl get sgcluster -n $NAMESPACE -o wide
NAME         VERSION   FLAVOR   INSTANCES   PROFILE              DISK   AGE   REPLICATION   BACKUP OBJECT STORAGE   BACKUP SCHEDULE
pg-cluster   18.3               3           pg-cluster-default   8Gi    37d   async                                 

$ kubectl describe sgcluster pg-cluster -n $NAMESPACE
$ kubectl describe sgcluster pg-cluster -n $NAMESPACE
Name:         pg-cluster
Namespace:    lapodb-postgres
Labels:       <none>
Annotations:  stackgres.io/operatorVersion: 1.18.6
API Version:  stackgres.io/v1
Kind:         SGCluster
Metadata:
  Creation Timestamp:  2026-05-03T15:25:56Z
  Generation:          17
  Resource Version:    8510436
  UID:                 27cdba8f-3477-4740-848d-6f82c45c405a
Spec:
  Configurations:
    Observability:
      Disable Metrics:      false
      Prometheus Autobind:  false
    Sg Pooling Config:      pg-cluster-default
    Sg Postgres Config:     pg-config
  Instances:                3
  Managed Sql:
    Continue On SGScript Error:  false
    Scripts:
      Id:         0
      Sg Script:  pg-cluster-default
  Pods:
    Disable Connection Pooling:  false
    Disable Envoy:               true
    Disable Metrics Exporter:    false
    Disable Postgres Util:       false
    Management Policy:           OrderedReady
    Persistent Volume:
      Size:           8Gi
      Storage Class:  local-postgres
    Scheduling:
      Node Selector:
        node-role.kubernetes.io/postgres:  true
      Pod Anti Affinity:
        Required During Scheduling Ignored During Execution:
          Label Selector:
            Match Labels:
              stackgres.io/cluster:  pg-cluster
          Topology Key:              kubernetes.io/hostname
    Update Strategy:
      Method:  InPlace
      Type:    OnlyDbOps
  Postgres:
    Flavor:  vanilla
    Ssl:
      Enabled:  true
    Version:    18
  Postgres Services:
    Primary:
      Enabled:  true
      Type:     ClusterIP
    Replicas:
      Enabled:  true
      Type:     ClusterIP
  Profile:      production
  Replication:
    Mode:               async
    Role:               ha-read
  Sg Instance Profile:  pg-cluster-default
Status:
  Arch:  x86_64
  Binding:
    Name:         pg-cluster-binding
  Build Version:  6.49
  Conditions:
    Last Transition Time:  2026-05-03T15:35:52.134132Z
    Reason:                ClusterInitialScriptApplied
    Status:                True
    Type:                  InitialScriptsApplied
    Last Transition Time:  2026-05-03T15:35:52.071432Z
    Reason:                ClusterBootstrapped
    Status:                True
    Type:                  Bootstrapped
    Last Transition Time:  2026-05-03T15:31:59.887576Z
    Reason:                FalsePendingUpgrade
    Status:                False
    Type:                  PendingUpgrade
    Last Transition Time:  2026-05-03T15:31:59.887531Z
    Reason:                FalsePendingRestart
    Status:                False
    Type:                  PendingRestart
    Last Transition Time:  2026-05-03T15:31:59.313942Z
    Reason:                FalseFailed
    Status:                False
    Type:                  Failed
  Extensions:
  Instances:       3
  Label Selector:  app=StackGresCluster,stackgres.io/cluster-name=pg-cluster,stackgres.io/cluster-scope=pg-cluster,stackgres.io/cluster=true,stackgres.io/cluster-uid=27cdba8f-3477-4740-848d-6f82c45c405a
  Managed Sql:
    Scripts:
      Completed At:  2026-05-03T15:35:47.613868Z
      Id:            0
      Scripts:
        Id:        0
        Version:   0
        Id:        4
        Version:   0
      Started At:  2026-05-03T15:35:44.096419Z
      Updated At:  2026-05-03T15:35:47.193412Z
  Os:              linux
  Pod Statuses:
    Installed Postgres Extensions:
    Name:               pg-cluster-0
    Node Name:          kube01
    Pending Restart:    false
    Primary:            true
    Replication Group:  0
    Installed Postgres Extensions:
    Name:               pg-cluster-1
    Node Name:          kube03
    Pending Restart:    false
    Primary:            false
    Replication Group:  0
    Installed Postgres Extensions:
    Name:               pg-cluster-2
    Node Name:          kube02
    Pending Restart:    false
    Primary:            false
    Replication Group:  0
  Postgres Version:     18.3
Events:                 <none>

$ kubectl get events -n $NAMESPACE --sort-by=.lastTimestamp
LAST SEEN   TYPE      REASON               OBJECT                           MESSAGE
1s          Warning   BackupConfigFailed   sgbackup/bk2026-05-03-17-52-04   SGBackup reconciliation cycle failed: SGCluster pg-cluster has no backup configured
StatefulSet ellenőrzése
$ kubectl get statefulset -n $NAMESPACE -o wide
NAME         READY   AGE   CONTAINERS                                                                        IMAGES
pg-cluster   3/3     37d   patroni,pgbouncer,prometheus-postgres-exporter,postgres-util,cluster-controller   quay.io/ongres/patroni:v4.1.0-pg18.3-build-6.49,quay.io/ongres/pgbouncer:v1.25.1-build-6.49,quay.io/ongres/prometheus-postgres-exporter:v0.19.0-build-6.49,quay.io/ongres/postgres-util:v18.3-build-6.49,quay.io/stackgres/cluster-controller:1.18.6
PVC-k ellenőrzése
$ kubectl get pvc -n $NAMESPACE -o wide
NAME                           STATUS   VOLUME            CAPACITY   ACCESS MODES   STORAGECLASS     VOLUMEATTRIBUTESCLASS   AGE   VOLUMEMODE
pg-cluster-data-pg-cluster-0   Bound    local-pg-kube01   8Gi        RWO            local-postgres   <unset>                 37d   Filesystem
pg-cluster-data-pg-cluster-1   Bound    local-pg-kube03   8Gi        RWO            local-postgres   <unset>                 37d   Filesystem
pg-cluster-data-pg-cluster-2   Bound    local-pg-kube02   8Gi        RWO            local-postgres   <unset>                 37d   Filesystem

Patroni állapot ellenőrzés

Normál állapot
$ kubectl exec -n $NAMESPACE -it pg-cluster-0 -c patroni -- patronictl list
+ Cluster: pg-cluster (7635689612010042939) ------+----+-------------+-----+------------+-----+
| Member       | Host       | Role    | State     | TL | Receive LSN | Lag | Replay LSN | Lag |
+--------------+------------+---------+-----------+----+-------------+-----+------------+-----+
| pg-cluster-0 | 10.244.0.5 | Leader  | running   |  2 |             |     |            |     |
| pg-cluster-1 | 10.244.2.5 | Replica | streaming |  2 |   0/40002B0 |   0 |  0/40002B0 |   0 |
| pg-cluster-2 | 10.244.1.8 | Replica | streaming |  2 |   0/40002B0 |   0 |  0/40002B0 |   0 |
+--------------+------------+---------+-----------+----+-------------+-----+------------+-----+
kubernetes/stackgres/monitoring.1781083352.txt.gz · legutóbbi módosítás: – Szerkesztő: riba.zoltan