kubeblocks icon indicating copy to clipboard operation
kubeblocks copied to clipboard

[BUG] upgrade kb from 0.8.3 to 0.9.0 some cluster pod restart

Open JashBook opened this issue 1 year ago • 2 comments

Describe the bug

To Reproduce Steps to reproduce the behavior:

  1. install kubeblocks 0.8.3
curl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash -s v0.8.4-beta.3

kbcli kubeblocks install --create-namespace --version 0.8.3 --set image.registry=docker.io --set dataProtection.image.registry=docker.io --set addonChartsImage.registry=docker.io --set dataProtection.image.datasafed.tag=0.1.0  --namespace kb-cluster
  1. create cluster
  2. upgrade kubeblocks to 0.9.0
curl -fsSL https://kubeblocks.io/installer/install_cli.sh | bash -s v0.9.0-beta.27

kbcli kubeblocks upgrade --auto-approve --version 0.9.0-beta.33 --set image.registry=docker.io --set dataProtection.image.registry=docker.io --set addonChartsImage.registry=docker.io --set dataProtection.image.datasafed.tag=0.2.0  --namespace kb-cluster 
  1. See error: pod restart
kubectl get pod -n ns-cluster
NAME                                READY   STATUS     RESTARTS        AGE
postgres-cluster-postgresql-0       5/5     Running    0               3h36m
postgres-cluster-postgresql-1       5/5     Running    0               8m10s
postgres-cluster-postgresql-2       5/5     Running    0               3h36m

kafka-cluster-broker-0              2/2     Running    0               6m6s

pulsar-cluster-bookies-0            2/2     Running    0               6m5s
pulsar-cluster-bookies-1            2/2     Running    2 (3h34m ago)   3h43m
pulsar-cluster-bookies-2            2/2     Running    0               3h44m
pulsar-cluster-bookies-3            2/2     Running    0               3h33m
pulsar-cluster-bookies-4            2/2     Running    0               3h33m
pulsar-cluster-pulsar-broker-0      3/3     Running    1 (34m ago)     3h36m
pulsar-cluster-pulsar-broker-1      3/3     Running    1 (34m ago)     3h37m
pulsar-cluster-pulsar-proxy-0       2/2     Running    0               3h48m
pulsar-cluster-zookeeper-0          2/2     Running    0               3h34m
pulsar-cluster-zookeeper-1          2/2     Running    0               3h34m
pulsar-cluster-zookeeper-2          2/2     Running    0               3h35m

diff pg cluster yaml

diff 0.8.3/cluster/cluster-postgres-cluster.yaml 0.9.0/cluster/cluster-postgres-cluster.yaml
16c16
<   resourceVersion: "829948"
---
>   resourceVersion: "981306"
32d31
<     noCreatePDB: false
41d39
<     rsmTransformPolicy: ToSts
53d50
<   monitor: {}

diff pg component yaml

diff 0.8.3/component/component-postgres-cluster-postgresql.yaml 0.9.0/component/component-postgres-cluster-postgresql.yaml 
8a9
>   - component.kubeblocks.io/finalizer
26c27
<   resourceVersion: "817808"
---
>   resourceVersion: "981215"
37d37
<   monitor: true
46d45
<   rsmTransformPolicy: ToSts

diff sts yaml

diff 0.8.3/sts/sts-postgres-cluster-postgresql.yaml  0.9.0/sts/sts-postgres-cluster-postgresql.yaml 
24,31c24
<   ownerReferences:
<   - apiVersion: workloads.kubeblocks.io/v1alpha1
<     blockOwnerDeletion: true
<     controller: true
<     kind: ReplicatedStateMachine
<     name: postgres-cluster-postgresql
<     uid: 746d8465-33eb-4f6d-84ba-789493d9fd16
<   resourceVersion: "817646"
---
>   resourceVersion: "982037"

  1. get pg upgrade before cluster yaml
apiVersion: apps.kubeblocks.io/v1alpha1
kind: Cluster
metadata:
  annotations:
    kubeblocks.io/reconcile: "2024-06-19T06:53:52.035009079Z"
  creationTimestamp: "2024-06-19T06:13:55Z"
  finalizers:
  - cluster.kubeblocks.io/finalizer
  generation: 10
  labels:
    app.kubernetes.io/instance: postgres-cluster
    clusterdefinition.kubeblocks.io/name: postgresql
    clusterversion.kubeblocks.io/name: postgresql-12.14.0-pgvector-v0.6.1
  name: postgres-cluster
  namespace: ns-cluster
  resourceVersion: "829948"
  uid: 4e6980d5-7358-4bb2-b9c7-43c4153e9919
spec:
  affinity:
    podAntiAffinity: Preferred
    tenancy: SharedNode
  clusterDefinitionRef: postgresql
  clusterVersionRef: postgresql-12.14.0-pgvector-v0.6.1
  componentSpecs:
  - classDefRef:
      class: ""
    componentDefRef: postgresql
    enabledLogs:
    - running
    monitor: true
    name: postgresql
    noCreatePDB: false
    replicas: 3
    resources:
      limits:
        cpu: 200m
        memory: 644245094400m
      requests:
        cpu: 200m
        memory: 644245094400m
    rsmTransformPolicy: ToSts
    serviceAccountName: kb-postgres-cluster
    switchPolicy:
      type: Noop
    volumeClaimTemplates:
    - name: data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 3Gi
  monitor: {}
  resources:
    cpu: "0"
    memory: "0"
  services:
  - componentSelector: postgresql
    name: postgresql-internet
    roleSelector: primary
    serviceName: postgresql-internet
    spec:
      ports:
      - name: tcp-postgresql
        nodePort: 31138
        port: 5432
        protocol: TCP
        targetPort: tcp-postgresql
      - name: tcp-pgbouncer
        nodePort: 31899
        port: 6432
        protocol: TCP
        targetPort: tcp-pgbouncer
      type: LoadBalancer
  storage:
    size: "0"
  terminationPolicy: WipeOut
status:
  clusterDefGeneration: 2
  components:
    postgresql:
      phase: Running
      podsReady: true
      podsReadyTime: "2024-06-19T06:55:17Z"
  conditions:
  - lastTransitionTime: "2024-06-19T06:13:57Z"
    message: 'The operator has started the provisioning of Cluster: postgres-cluster'
    observedGeneration: 10
    reason: PreCheckSucceed
    status: "True"
    type: ProvisioningStarted
  - lastTransitionTime: "2024-06-19T07:04:17Z"
    message: Successfully applied for resources
    observedGeneration: 10
    reason: ApplyResourcesSucceed
    status: "True"
    type: ApplyResources
  - lastTransitionTime: "2024-06-19T06:55:17Z"
    message: all pods of components are ready, waiting for the probe detection successful
    reason: AllReplicasReady
    status: "True"
    type: ReplicasReady
  - lastTransitionTime: "2024-06-19T06:55:17Z"
    message: 'Cluster: postgres-cluster is ready, current phase is Running'
    reason: ClusterReady
    status: "True"
    type: Ready
  observedGeneration: 10
  phase: Running

component yaml

apiVersion: apps.kubeblocks.io/v1alpha1
kind: Component
metadata:
  annotations:
    kubeblocks.io/generation: "10"
  creationTimestamp: "2024-06-19T06:13:57Z"
  finalizers:
  - cluster.kubeblocks.io/finalizer
  generation: 6
  labels:
    app.kubernetes.io/instance: postgres-cluster
    app.kubernetes.io/managed-by: kubeblocks
    apps.kubeblocks.io/cluster-uid: 4e6980d5-7358-4bb2-b9c7-43c4153e9919
    apps.kubeblocks.io/component-name: postgresql
    clusterdefinition.kubeblocks.io/name: postgresql
    clusterversion.kubeblocks.io/name: postgresql-12.14.0-pgvector-v0.6.1
  name: postgres-cluster-postgresql
  namespace: ns-cluster
  ownerReferences:
  - apiVersion: apps.kubeblocks.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Cluster
    name: postgres-cluster
    uid: 4e6980d5-7358-4bb2-b9c7-43c4153e9919
  resourceVersion: "817808"
  uid: cc48cd68-00c2-488d-ba37-5c99e5a9c347
spec:
  affinity:
    podAntiAffinity: Preferred
    tenancy: SharedNode
  classDefRef:
    class: ""
  compDef: ""
  enabledLogs:
  - running
  monitor: true
  replicas: 3
  resources:
    limits:
      cpu: 200m
      memory: 644245094400m
    requests:
      cpu: 200m
      memory: 644245094400m
  rsmTransformPolicy: ToSts
  serviceAccountName: kb-postgres-cluster
  tolerations:
  - effect: NoSchedule
    key: kb-data
    operator: Equal
    value: "true"
  volumeClaimTemplates:
  - name: data
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 3Gi
status:
  conditions:
  - lastTransitionTime: "2024-06-19T06:14:10Z"
    message: 'The operator has started the provisioning of Cluster: postgres-cluster-postgresql'
    observedGeneration: 6
    reason: PreCheckSucceed
    status: "True"
    type: ProvisioningStarted
  observedGeneration: 6
  phase: Running

sts yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  annotations:
    config.kubeblocks.io/tpl-agamotto-configuration: postgres-cluster-postgresql-agamotto-configuration
    config.kubeblocks.io/tpl-pgbouncer-configuration: postgres-cluster-postgresql-pgbouncer-configuration
    config.kubeblocks.io/tpl-postgresql-configuration: postgres-cluster-postgresql-postgresql-configuration
    config.kubeblocks.io/tpl-postgresql-custom-metrics: postgres-cluster-postgresql-postgresql-custom-metrics
    config.kubeblocks.io/tpl-postgresql-scripts: postgres-cluster-postgresql-postgresql-scripts
    kubeblocks.io/generation: "10"
  creationTimestamp: "2024-06-19T06:14:27Z"
  finalizers:
  - cluster.kubeblocks.io/finalizer
  generation: 8
  labels:
    app.kubernetes.io/component: postgresql
    app.kubernetes.io/instance: postgres-cluster
    app.kubernetes.io/managed-by: kubeblocks
    app.kubernetes.io/name: postgresql
    apps.kubeblocks.io/component-name: postgresql
    rsm.workloads.kubeblocks.io/controller-generation: "8"
  name: postgres-cluster-postgresql
  namespace: ns-cluster
  ownerReferences:
  - apiVersion: workloads.kubeblocks.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: ReplicatedStateMachine
    name: postgres-cluster-postgresql
    uid: 746d8465-33eb-4f6d-84ba-789493d9fd16
  resourceVersion: "817646"
  uid: 36f67384-fc3e-48da-94db-49acc956639f
spec:
  persistentVolumeClaimRetentionPolicy:
    whenDeleted: Retain
    whenScaled: Retain
  podManagementPolicy: Parallel
  replicas: 3
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/instance: postgres-cluster
      app.kubernetes.io/managed-by: kubeblocks
      app.kubernetes.io/name: postgresql
      apps.kubeblocks.io/component-name: postgresql
  serviceName: postgres-cluster-postgresql-headless
  template:
    metadata:
      annotations:
        config.kubeblocks.io/restart-postgresql-configuration: 64bf895d5d
        kubeblocks.io/restart: "2024-06-19T06:34:46Z"
      creationTimestamp: null
      labels:
        app.kubernetes.io/component: postgresql
        app.kubernetes.io/instance: postgres-cluster
        app.kubernetes.io/managed-by: kubeblocks
        app.kubernetes.io/name: postgresql
        app.kubernetes.io/version: ""
        apps.kubeblocks.io/component-name: postgresql
    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - preference:
              matchExpressions:
              - key: kb-data
                operator: In
                values:
                - "true"
            weight: 100
        podAntiAffinity: {}
      containers:
      - command:
        - /kb-scripts/setup.sh
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: SERVICE_PORT
          value: "5432"
        - name: DCS_ENABLE_KUBERNETES_API
          value: "true"
        - name: KUBERNETES_USE_CONFIGMAPS
          value: "true"
        - name: SCOPE
          value: $(KB_CLUSTER_NAME)-$(KB_COMP_NAME)-patroni$(KB_CLUSTER_UID_POSTFIX_8)
        - name: KUBERNETES_SCOPE_LABEL
          value: apps.kubeblocks.postgres.patroni/scope
        - name: KUBERNETES_ROLE_LABEL
          value: apps.kubeblocks.postgres.patroni/role
        - name: KUBERNETES_LABELS
          value: '{"app.kubernetes.io/instance":"$(KB_CLUSTER_NAME)","apps.kubeblocks.io/component-name":"$(KB_COMP_NAME)"}'
        - name: RESTORE_DATA_DIR
          value: /home/postgres/pgdata/kb_restore
        - name: KB_PG_CONFIG_PATH
          value: /home/postgres/conf/postgresql.conf
        - name: SPILO_CONFIGURATION
          value: |
            bootstrap:
              initdb:
                - auth-host: md5
                - auth-local: trust
        - name: ALLOW_NOSSL
          value: "true"
        - name: PGROOT
          value: /home/postgres/pgdata/pgroot
        - name: POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: PGUSER_SUPERUSER
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGPASSWORD_SUPERUSER
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGUSER_ADMIN
          value: superadmin
        - name: PGPASSWORD_ADMIN
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGUSER_STANDBY
          value: standby
        - name: PGPASSWORD_STANDBY
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGUSER
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGPASSWORD
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: docker.io/apecloud/spilo:12.14.0-pgvector-v0.6.1
        imagePullPolicy: IfNotPresent
        name: postgresql
        ports:
        - containerPort: 5432
          name: tcp-postgresql
          protocol: TCP
        - containerPort: 8008
          name: patroni
          protocol: TCP
        readinessProbe:
          exec:
            command:
            - /bin/sh
            - -c
            - -ee
            - |
              exec pg_isready -U "postgres" -h 127.0.0.1 -p 5432
              [ -f /postgresql/tmp/.initialized ] || [ -f /postgresql/.initialized ]
          failureThreshold: 3
          initialDelaySeconds: 10
          periodSeconds: 30
          successThreshold: 1
          timeoutSeconds: 5
        resources:
          limits:
            cpu: 200m
            memory: 644245094400m
          requests:
            cpu: 200m
            memory: 644245094400m
        securityContext:
          runAsUser: 0
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /dev/shm
          name: dshm
        - mountPath: /home/postgres/pgdata
          name: data
        - mountPath: /home/postgres/conf
          name: postgresql-config
        - mountPath: /kb-scripts
          name: scripts
        - mountPath: /kb-podinfo
          name: pod-info
      - command:
        - /kb-scripts/pgbouncer_setup.sh
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: PGBOUNCER_AUTH_TYPE
          value: md5
        - name: POSTGRESQL_USERNAME
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
              optional: false
        - name: POSTGRESQL_PASSWORD
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: POSTGRESQL_PORT
          value: "5432"
        - name: POSTGRESQL_HOST
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: PGBOUNCER_PORT
          value: "6432"
        - name: PGBOUNCER_BIND_ADDRESS
          value: 0.0.0.0
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: docker.io/apecloud/pgbouncer:1.19.0
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          initialDelaySeconds: 15
          periodSeconds: 30
          successThreshold: 1
          tcpSocket:
            port: tcp-pgbouncer
          timeoutSeconds: 5
        name: pgbouncer
        ports:
        - containerPort: 6432
          name: tcp-pgbouncer
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          initialDelaySeconds: 15
          periodSeconds: 30
          successThreshold: 1
          tcpSocket:
            port: tcp-pgbouncer
          timeoutSeconds: 5
        resources:
          limits:
            cpu: "0"
            memory: "0"
        securityContext:
          runAsUser: 0
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /home/pgbouncer/conf
          name: pgbouncer-config
        - mountPath: /kb-scripts
          name: scripts
      - command:
        - /bin/agamotto
        - --config=/opt/agamotto/agamotto-config.yaml
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: ENDPOINT
          value: 127.0.0.1:5432
        - name: DATA_SOURCE_PASS
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: DATA_SOURCE_USER
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
              optional: false
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/agamotto:0.1.2-beta.1
        imagePullPolicy: IfNotPresent
        name: metrics
        ports:
        - containerPort: 9187
          name: http-metrics
          protocol: TCP
        resources:
          limits:
            cpu: "0"
            memory: "0"
        securityContext:
          runAsUser: 0
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /opt/conf
          name: postgresql-custom-metrics
        - mountPath: /opt/agamotto
          name: agamotto-configuration
      - command:
        - lorry
        - --port
        - "3501"
        - --grpcport
        - "50001"
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: KB_BUILTIN_HANDLER
          value: postgresql
        - name: KB_SERVICE_USER
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
        - name: KB_SERVICE_PASSWORD
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
        - name: KB_SERVICE_PORT
          value: "5432"
        - name: KB_DATA_PATH
          value: /home/postgres/pgdata
        - name: KB_RSM_ACTION_SVC_LIST
          value: "null"
        - name: KB_RSM_ROLE_UPDATE_MECHANISM
          value: DirectAPIServerEventUpdate
        - name: KB_RSM_ROLE_PROBE_TIMEOUT
          value: "1"
        - name: KB_CLUSTER_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['app.kubernetes.io/instance']
        - name: KB_COMP_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['apps.kubeblocks.io/component-name']
        - name: KB_SERVICE_CHARACTER_TYPE
          value: postgresql
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: docker.io/apecloud/kubeblocks-tools:0.8.3
        imagePullPolicy: IfNotPresent
        name: lorry
        ports:
        - containerPort: 3501
          name: lorry-http-port
          protocol: TCP
        - containerPort: 50001
          name: lorry-grpc-port
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /v1.0/checkrole
            port: 3501
            scheme: HTTP
          periodSeconds: 1
          successThreshold: 1
          timeoutSeconds: 1
        resources:
          limits:
            cpu: "0"
            memory: "0"
        startupProbe:
          failureThreshold: 3
          periodSeconds: 10
          successThreshold: 1
          tcpSocket:
            port: 3501
          timeoutSeconds: 1
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /home/postgres/pgdata
          name: data
      - args:
        - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$(TOOLS_PATH)
        - /bin/reloader
        - --log-level
        - info
        - --operator-update-enable
        - --tcp
        - "9901"
        - --config
        - /opt/config-manager/config-manager.yaml
        command:
        - env
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: CONFIG_MANAGER_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: DB_TYPE
          value: postgresql
        - name: TOOLS_PATH
          value: /opt/kb-tools/reload/postgresql-configuration:/opt/config-manager
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: docker.io/apecloud/kubeblocks-tools:0.8.3
        imagePullPolicy: IfNotPresent
        name: config-manager
        resources:
          limits:
            cpu: "0"
            memory: "0"
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /home/postgres/conf
          name: postgresql-config
        - mountPath: /opt/kb-tools/reload/postgresql-configuration
          name: cm-script-postgresql-configuration
        - mountPath: /opt/config-manager
          name: config-manager-config
      dnsPolicy: ClusterFirst
      initContainers:
      - command:
        - /kb-scripts/init_container.sh
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        image: docker.io/apecloud/spilo:12.14.0-pgvector-v0.6.1
        imagePullPolicy: IfNotPresent
        name: pg-init-container
        resources:
          limits:
            cpu: "0"
            memory: "0"
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /home/postgres/pgdata
          name: data
        - mountPath: /home/postgres/conf
          name: postgresql-config
        - mountPath: /kb-scripts
          name: scripts
        - mountPath: /kb-podinfo
          name: pod-info
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        fsGroup: 103
        fsGroupChangePolicy: OnRootMismatch
        runAsGroup: 103
        runAsUser: 0
      serviceAccount: kb-postgres-cluster
      serviceAccountName: kb-postgres-cluster
      terminationGracePeriodSeconds: 30
      tolerations:
      - effect: NoSchedule
        key: kb-data
        operator: Equal
        value: "true"
      volumes:
      - emptyDir:
          medium: Memory
          sizeLimit: 644245094400m
        name: dshm
      - downwardAPI:
          defaultMode: 420
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['kubeblocks.io/role']
            path: pod-role
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.annotations['rs.apps.kubeblocks.io/primary']
            path: primary-pod
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.annotations['apps.kubeblocks.io/component-replicas']
            path: component-replicas
        name: pod-info
      - configMap:
          defaultMode: 511
          name: postgres-cluster-postgresql-agamotto-configuration
        name: agamotto-configuration
      - configMap:
          defaultMode: 292
          name: postgres-cluster-postgresql-pgbouncer-configuration
        name: pgbouncer-config
      - configMap:
          defaultMode: 511
          name: postgres-cluster-postgresql-postgresql-configuration
        name: postgresql-config
      - configMap:
          defaultMode: 511
          name: postgres-cluster-postgresql-postgresql-custom-metrics
        name: postgresql-custom-metrics
      - configMap:
          defaultMode: 365
          name: postgres-cluster-postgresql-postgresql-scripts
        name: scripts
      - configMap:
          defaultMode: 493
          name: sidecar-patroni-reload-script-postgres-cluster
        name: cm-script-postgresql-configuration
      - configMap:
          defaultMode: 493
          name: sidecar-postgres-cluster-postgresql-config-manager-config
        name: config-manager-config
      - emptyDir: {}
        name: data
  updateStrategy:
    type: OnDelete
  volumeClaimTemplates:
  - apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      creationTimestamp: null
      labels:
        apps.kubeblocks.io/vct-name: data
        kubeblocks.io/volume-type: data
      name: data
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 3Gi
      storageClassName: kb-default-sc
      volumeMode: Filesystem
    status:
      phase: Pending
status:
  availableReplicas: 3
  collisionCount: 0
  currentRevision: postgres-cluster-postgresql-589796456c
  observedGeneration: 8
  readyReplicas: 3
  replicas: 3
  updateRevision: postgres-cluster-postgresql-9867cf49f
  updatedReplicas: 3

get pg upgrade after cluster yaml

apiVersion: apps.kubeblocks.io/v1alpha1
kind: Cluster
metadata:
  annotations:
    kubeblocks.io/reconcile: "2024-06-19T06:53:52.035009079Z"
  creationTimestamp: "2024-06-19T06:13:55Z"
  finalizers:
  - cluster.kubeblocks.io/finalizer
  generation: 10
  labels:
    app.kubernetes.io/instance: postgres-cluster
    clusterdefinition.kubeblocks.io/name: postgresql
    clusterversion.kubeblocks.io/name: postgresql-12.14.0-pgvector-v0.6.1
  name: postgres-cluster
  namespace: ns-cluster
  resourceVersion: "981306"
  uid: 4e6980d5-7358-4bb2-b9c7-43c4153e9919
spec:
  affinity:
    podAntiAffinity: Preferred
    tenancy: SharedNode
  clusterDefinitionRef: postgresql
  clusterVersionRef: postgresql-12.14.0-pgvector-v0.6.1
  componentSpecs:
  - classDefRef:
      class: ""
    componentDefRef: postgresql
    enabledLogs:
    - running
    monitor: true
    name: postgresql
    replicas: 3
    resources:
      limits:
        cpu: 200m
        memory: 644245094400m
      requests:
        cpu: 200m
        memory: 644245094400m
    serviceAccountName: kb-postgres-cluster
    switchPolicy:
      type: Noop
    volumeClaimTemplates:
    - name: data
      spec:
        accessModes:
        - ReadWriteOnce
        resources:
          requests:
            storage: 3Gi
  resources:
    cpu: "0"
    memory: "0"
  services:
  - componentSelector: postgresql
    name: postgresql-internet
    roleSelector: primary
    serviceName: postgresql-internet
    spec:
      ports:
      - name: tcp-postgresql
        nodePort: 31138
        port: 5432
        protocol: TCP
        targetPort: tcp-postgresql
      - name: tcp-pgbouncer
        nodePort: 31899
        port: 6432
        protocol: TCP
        targetPort: tcp-pgbouncer
      type: LoadBalancer
  storage:
    size: "0"
  terminationPolicy: WipeOut
status:
  clusterDefGeneration: 2
  components:
    postgresql:
      phase: Running
      podsReady: true
      podsReadyTime: "2024-06-19T06:55:17Z"
  conditions:
  - lastTransitionTime: "2024-06-19T06:13:57Z"
    message: 'The operator has started the provisioning of Cluster: postgres-cluster'
    observedGeneration: 10
    reason: PreCheckSucceed
    status: "True"
    type: ProvisioningStarted
  - lastTransitionTime: "2024-06-19T07:04:17Z"
    message: Successfully applied for resources
    observedGeneration: 10
    reason: ApplyResourcesSucceed
    status: "True"
    type: ApplyResources
  - lastTransitionTime: "2024-06-19T06:55:17Z"
    message: all pods of components are ready, waiting for the probe detection successful
    reason: AllReplicasReady
    status: "True"
    type: ReplicasReady
  - lastTransitionTime: "2024-06-19T06:55:17Z"
    message: 'Cluster: postgres-cluster is ready, current phase is Running'
    reason: ClusterReady
    status: "True"
    type: Ready
  observedGeneration: 10
  phase: Running


component yaml

apiVersion: apps.kubeblocks.io/v1alpha1
kind: Component
metadata:
  annotations:
    kubeblocks.io/generation: "10"
  creationTimestamp: "2024-06-19T06:13:57Z"
  finalizers:
  - cluster.kubeblocks.io/finalizer
  - component.kubeblocks.io/finalizer
  generation: 6
  labels:
    app.kubernetes.io/instance: postgres-cluster
    app.kubernetes.io/managed-by: kubeblocks
    apps.kubeblocks.io/cluster-uid: 4e6980d5-7358-4bb2-b9c7-43c4153e9919
    apps.kubeblocks.io/component-name: postgresql
    clusterdefinition.kubeblocks.io/name: postgresql
    clusterversion.kubeblocks.io/name: postgresql-12.14.0-pgvector-v0.6.1
  name: postgres-cluster-postgresql
  namespace: ns-cluster
  ownerReferences:
  - apiVersion: apps.kubeblocks.io/v1alpha1
    blockOwnerDeletion: true
    controller: true
    kind: Cluster
    name: postgres-cluster
    uid: 4e6980d5-7358-4bb2-b9c7-43c4153e9919
  resourceVersion: "981215"
  uid: cc48cd68-00c2-488d-ba37-5c99e5a9c347
spec:
  affinity:
    podAntiAffinity: Preferred
    tenancy: SharedNode
  classDefRef:
    class: ""
  compDef: ""
  enabledLogs:
  - running
  replicas: 3
  resources:
    limits:
      cpu: 200m
      memory: 644245094400m
    requests:
      cpu: 200m
      memory: 644245094400m
  serviceAccountName: kb-postgres-cluster
  tolerations:
  - effect: NoSchedule
    key: kb-data
    operator: Equal
    value: "true"
  volumeClaimTemplates:
  - name: data
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 3Gi
status:
  conditions:
  - lastTransitionTime: "2024-06-19T06:14:10Z"
    message: 'The operator has started the provisioning of Cluster: postgres-cluster-postgresql'
    observedGeneration: 6
    reason: PreCheckSucceed
    status: "True"
    type: ProvisioningStarted
  observedGeneration: 6
  phase: Running

sts yaml

apiVersion: apps/v1
kind: StatefulSet
metadata:
  annotations:
    config.kubeblocks.io/tpl-agamotto-configuration: postgres-cluster-postgresql-agamotto-configuration
    config.kubeblocks.io/tpl-pgbouncer-configuration: postgres-cluster-postgresql-pgbouncer-configuration
    config.kubeblocks.io/tpl-postgresql-configuration: postgres-cluster-postgresql-postgresql-configuration
    config.kubeblocks.io/tpl-postgresql-custom-metrics: postgres-cluster-postgresql-postgresql-custom-metrics
    config.kubeblocks.io/tpl-postgresql-scripts: postgres-cluster-postgresql-postgresql-scripts
    kubeblocks.io/generation: "10"
  creationTimestamp: "2024-06-19T06:14:27Z"
  finalizers:
  - cluster.kubeblocks.io/finalizer
  generation: 8
  labels:
    app.kubernetes.io/component: postgresql
    app.kubernetes.io/instance: postgres-cluster
    app.kubernetes.io/managed-by: kubeblocks
    app.kubernetes.io/name: postgresql
    apps.kubeblocks.io/component-name: postgresql
    rsm.workloads.kubeblocks.io/controller-generation: "8"
  name: postgres-cluster-postgresql
  namespace: ns-cluster
  resourceVersion: "982037"
  uid: 36f67384-fc3e-48da-94db-49acc956639f
spec:
  persistentVolumeClaimRetentionPolicy:
    whenDeleted: Retain
    whenScaled: Retain
  podManagementPolicy: Parallel
  replicas: 3
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      app.kubernetes.io/instance: postgres-cluster
      app.kubernetes.io/managed-by: kubeblocks
      app.kubernetes.io/name: postgresql
      apps.kubeblocks.io/component-name: postgresql
  serviceName: postgres-cluster-postgresql-headless
  template:
    metadata:
      annotations:
        config.kubeblocks.io/restart-postgresql-configuration: 64bf895d5d
        kubeblocks.io/restart: "2024-06-19T06:34:46Z"
      creationTimestamp: null
      labels:
        app.kubernetes.io/component: postgresql
        app.kubernetes.io/instance: postgres-cluster
        app.kubernetes.io/managed-by: kubeblocks
        app.kubernetes.io/name: postgresql
        app.kubernetes.io/version: ""
        apps.kubeblocks.io/component-name: postgresql
    spec:
      affinity:
        nodeAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - preference:
              matchExpressions:
              - key: kb-data
                operator: In
                values:
                - "true"
            weight: 100
        podAntiAffinity: {}
      containers:
      - command:
        - /kb-scripts/setup.sh
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: SERVICE_PORT
          value: "5432"
        - name: DCS_ENABLE_KUBERNETES_API
          value: "true"
        - name: KUBERNETES_USE_CONFIGMAPS
          value: "true"
        - name: SCOPE
          value: $(KB_CLUSTER_NAME)-$(KB_COMP_NAME)-patroni$(KB_CLUSTER_UID_POSTFIX_8)
        - name: KUBERNETES_SCOPE_LABEL
          value: apps.kubeblocks.postgres.patroni/scope
        - name: KUBERNETES_ROLE_LABEL
          value: apps.kubeblocks.postgres.patroni/role
        - name: KUBERNETES_LABELS
          value: '{"app.kubernetes.io/instance":"$(KB_CLUSTER_NAME)","apps.kubeblocks.io/component-name":"$(KB_COMP_NAME)"}'
        - name: RESTORE_DATA_DIR
          value: /home/postgres/pgdata/kb_restore
        - name: KB_PG_CONFIG_PATH
          value: /home/postgres/conf/postgresql.conf
        - name: SPILO_CONFIGURATION
          value: |
            bootstrap:
              initdb:
                - auth-host: md5
                - auth-local: trust
        - name: ALLOW_NOSSL
          value: "true"
        - name: PGROOT
          value: /home/postgres/pgdata/pgroot
        - name: POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: POD_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: PGUSER_SUPERUSER
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGPASSWORD_SUPERUSER
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGUSER_ADMIN
          value: superadmin
        - name: PGPASSWORD_ADMIN
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGUSER_STANDBY
          value: standby
        - name: PGPASSWORD_STANDBY
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGUSER
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
              optional: false
        - name: PGPASSWORD
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: docker.io/apecloud/spilo:12.14.0-pgvector-v0.6.1
        imagePullPolicy: IfNotPresent
        name: postgresql
        ports:
        - containerPort: 5432
          name: tcp-postgresql
          protocol: TCP
        - containerPort: 8008
          name: patroni
          protocol: TCP
        readinessProbe:
          exec:
            command:
            - /bin/sh
            - -c
            - -ee
            - |
              exec pg_isready -U "postgres" -h 127.0.0.1 -p 5432
              [ -f /postgresql/tmp/.initialized ] || [ -f /postgresql/.initialized ]
          failureThreshold: 3
          initialDelaySeconds: 10
          periodSeconds: 30
          successThreshold: 1
          timeoutSeconds: 5
        resources:
          limits:
            cpu: 200m
            memory: 644245094400m
          requests:
            cpu: 200m
            memory: 644245094400m
        securityContext:
          runAsUser: 0
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /dev/shm
          name: dshm
        - mountPath: /home/postgres/pgdata
          name: data
        - mountPath: /home/postgres/conf
          name: postgresql-config
        - mountPath: /kb-scripts
          name: scripts
        - mountPath: /kb-podinfo
          name: pod-info
      - command:
        - /kb-scripts/pgbouncer_setup.sh
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: PGBOUNCER_AUTH_TYPE
          value: md5
        - name: POSTGRESQL_USERNAME
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
              optional: false
        - name: POSTGRESQL_PASSWORD
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: POSTGRESQL_PORT
          value: "5432"
        - name: POSTGRESQL_HOST
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: PGBOUNCER_PORT
          value: "6432"
        - name: PGBOUNCER_BIND_ADDRESS
          value: 0.0.0.0
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: docker.io/apecloud/pgbouncer:1.19.0
        imagePullPolicy: IfNotPresent
        livenessProbe:
          failureThreshold: 3
          initialDelaySeconds: 15
          periodSeconds: 30
          successThreshold: 1
          tcpSocket:
            port: tcp-pgbouncer
          timeoutSeconds: 5
        name: pgbouncer
        ports:
        - containerPort: 6432
          name: tcp-pgbouncer
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          initialDelaySeconds: 15
          periodSeconds: 30
          successThreshold: 1
          tcpSocket:
            port: tcp-pgbouncer
          timeoutSeconds: 5
        resources:
          limits:
            cpu: "0"
            memory: "0"
        securityContext:
          runAsUser: 0
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /home/pgbouncer/conf
          name: pgbouncer-config
        - mountPath: /kb-scripts
          name: scripts
      - command:
        - /bin/agamotto
        - --config=/opt/agamotto/agamotto-config.yaml
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: ENDPOINT
          value: 127.0.0.1:5432
        - name: DATA_SOURCE_PASS
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
              optional: false
        - name: DATA_SOURCE_USER
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
              optional: false
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/agamotto:0.1.2-beta.1
        imagePullPolicy: IfNotPresent
        name: metrics
        ports:
        - containerPort: 9187
          name: http-metrics
          protocol: TCP
        resources:
          limits:
            cpu: "0"
            memory: "0"
        securityContext:
          runAsUser: 0
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /opt/conf
          name: postgresql-custom-metrics
        - mountPath: /opt/agamotto
          name: agamotto-configuration
      - command:
        - lorry
        - --port
        - "3501"
        - --grpcport
        - "50001"
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: KB_BUILTIN_HANDLER
          value: postgresql
        - name: KB_SERVICE_USER
          valueFrom:
            secretKeyRef:
              key: username
              name: postgres-cluster-conn-credential
        - name: KB_SERVICE_PASSWORD
          valueFrom:
            secretKeyRef:
              key: password
              name: postgres-cluster-conn-credential
        - name: KB_SERVICE_PORT
          value: "5432"
        - name: KB_DATA_PATH
          value: /home/postgres/pgdata
        - name: KB_RSM_ACTION_SVC_LIST
          value: "null"
        - name: KB_RSM_ROLE_UPDATE_MECHANISM
          value: DirectAPIServerEventUpdate
        - name: KB_RSM_ROLE_PROBE_TIMEOUT
          value: "1"
        - name: KB_CLUSTER_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['app.kubernetes.io/instance']
        - name: KB_COMP_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['apps.kubeblocks.io/component-name']
        - name: KB_SERVICE_CHARACTER_TYPE
          value: postgresql
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: docker.io/apecloud/kubeblocks-tools:0.8.3
        imagePullPolicy: IfNotPresent
        name: lorry
        ports:
        - containerPort: 3501
          name: lorry-http-port
          protocol: TCP
        - containerPort: 50001
          name: lorry-grpc-port
          protocol: TCP
        readinessProbe:
          failureThreshold: 3
          httpGet:
            path: /v1.0/checkrole
            port: 3501
            scheme: HTTP
          periodSeconds: 1
          successThreshold: 1
          timeoutSeconds: 1
        resources:
          limits:
            cpu: "0"
            memory: "0"
        startupProbe:
          failureThreshold: 3
          periodSeconds: 10
          successThreshold: 1
          tcpSocket:
            port: 3501
          timeoutSeconds: 1
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /home/postgres/pgdata
          name: data
      - args:
        - PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$(TOOLS_PATH)
        - /bin/reloader
        - --log-level
        - info
        - --operator-update-enable
        - --tcp
        - "9901"
        - --config
        - /opt/config-manager/config-manager.yaml
        command:
        - env
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        - name: CONFIG_MANAGER_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: DB_TYPE
          value: postgresql
        - name: TOOLS_PATH
          value: /opt/kb-tools/reload/postgresql-configuration:/opt/config-manager
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        - configMapRef:
            name: postgres-cluster-postgresql-rsm-env
            optional: false
        image: docker.io/apecloud/kubeblocks-tools:0.8.3
        imagePullPolicy: IfNotPresent
        name: config-manager
        resources:
          limits:
            cpu: "0"
            memory: "0"
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /home/postgres/conf
          name: postgresql-config
        - mountPath: /opt/kb-tools/reload/postgresql-configuration
          name: cm-script-postgresql-configuration
        - mountPath: /opt/config-manager
          name: config-manager-config
      dnsPolicy: ClusterFirst
      initContainers:
      - command:
        - /kb-scripts/init_container.sh
        env:
        - name: KB_POD_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.name
        - name: KB_POD_UID
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.uid
        - name: KB_NAMESPACE
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: metadata.namespace
        - name: KB_SA_NAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.serviceAccountName
        - name: KB_NODENAME
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: spec.nodeName
        - name: KB_HOST_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_POD_IP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_POD_IPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_HOSTIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.hostIP
        - name: KB_PODIP
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIP
        - name: KB_PODIPS
          valueFrom:
            fieldRef:
              apiVersion: v1
              fieldPath: status.podIPs
        - name: KB_POD_FQDN
          value: $(KB_POD_NAME).postgres-cluster-postgresql-headless.$(KB_NAMESPACE).svc
        envFrom:
        - configMapRef:
            name: postgres-cluster-postgresql-env
            optional: false
        image: docker.io/apecloud/spilo:12.14.0-pgvector-v0.6.1
        imagePullPolicy: IfNotPresent
        name: pg-init-container
        resources:
          limits:
            cpu: "0"
            memory: "0"
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
        volumeMounts:
        - mountPath: /home/postgres/pgdata
          name: data
        - mountPath: /home/postgres/conf
          name: postgresql-config
        - mountPath: /kb-scripts
          name: scripts
        - mountPath: /kb-podinfo
          name: pod-info
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext:
        fsGroup: 103
        fsGroupChangePolicy: OnRootMismatch
        runAsGroup: 103
        runAsUser: 0
      serviceAccount: kb-postgres-cluster
      serviceAccountName: kb-postgres-cluster
      terminationGracePeriodSeconds: 30
      tolerations:
      - effect: NoSchedule
        key: kb-data
        operator: Equal
        value: "true"
      volumes:
      - emptyDir:
          medium: Memory
          sizeLimit: 644245094400m
        name: dshm
      - downwardAPI:
          defaultMode: 420
          items:
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.labels['kubeblocks.io/role']
            path: pod-role
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.annotations['rs.apps.kubeblocks.io/primary']
            path: primary-pod
          - fieldRef:
              apiVersion: v1
              fieldPath: metadata.annotations['apps.kubeblocks.io/component-replicas']
            path: component-replicas
        name: pod-info
      - configMap:
          defaultMode: 511
          name: postgres-cluster-postgresql-agamotto-configuration
        name: agamotto-configuration
      - configMap:
          defaultMode: 292
          name: postgres-cluster-postgresql-pgbouncer-configuration
        name: pgbouncer-config
      - configMap:
          defaultMode: 511
          name: postgres-cluster-postgresql-postgresql-configuration
        name: postgresql-config
      - configMap:
          defaultMode: 511
          name: postgres-cluster-postgresql-postgresql-custom-metrics
        name: postgresql-custom-metrics
      - configMap:
          defaultMode: 365
          name: postgres-cluster-postgresql-postgresql-scripts
        name: scripts
      - configMap:
          defaultMode: 493
          name: sidecar-patroni-reload-script-postgres-cluster
        name: cm-script-postgresql-configuration
      - configMap:
          defaultMode: 493
          name: sidecar-postgres-cluster-postgresql-config-manager-config
        name: config-manager-config
      - emptyDir: {}
        name: data
  updateStrategy:
    type: OnDelete
  volumeClaimTemplates:
  - apiVersion: v1
    kind: PersistentVolumeClaim
    metadata:
      creationTimestamp: null
      labels:
        apps.kubeblocks.io/vct-name: data
        kubeblocks.io/volume-type: data
      name: data
    spec:
      accessModes:
      - ReadWriteOnce
      resources:
        requests:
          storage: 3Gi
      storageClassName: kb-default-sc
      volumeMode: Filesystem
    status:
      phase: Pending
status:
  availableReplicas: 3
  collisionCount: 0
  currentRevision: postgres-cluster-postgresql-589796456c
  observedGeneration: 8
  readyReplicas: 3
  replicas: 3
  updateRevision: postgres-cluster-postgresql-9867cf49f
  updatedReplicas: 3

Expected behavior A clear and concise description of what you expected to happen.

Screenshots If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: [e.g. iOS]
  • Browser [e.g. chrome, safari]
  • Version [e.g. 22]
kbcli version
Kubernetes: v1.27.13-gke.1070000
KubeBlocks: 0.9.0-beta.33
kbcli: 0.9.0-beta.27

Additional context Add any other context about the problem here.

JashBook avatar Jun 13 '24 08:06 JashBook

kafka cluster diff cluster

diff 0.8.3/cluster/cluster-kafka-cluster.yaml  0.9.0/cluster/cluster-kafka-cluster.yaml
14c14
<   generation: 7
---
>   generation: 8
23c23
<   resourceVersion: "770168"
---
>   resourceVersion: "981811"
38d37
<     noCreatePDB: false
47c46
<     rsmTransformPolicy: ToSts
---
>     serviceVersion: 3.3.2
63d61
<   monitor: {}
91c89
<     observedGeneration: 7
---
>     observedGeneration: 8
97c95
<     observedGeneration: 7
---
>     observedGeneration: 8
111c109
<   observedGeneration: 7
---
>   observedGeneration: 8

diff component

➜  ~ diff 0.8.3/component/component-kafka-cluster-broker.yaml 0.9.0/component/component-kafka-cluster-broker.yaml 
5c5,11
<     kubeblocks.io/generation: "7"
---
>     apps.kubeblocks.io/multi-cluster-placement: ""
>     kubeblocks.io/enabled-pod-ordinal-svc: broker
>     kubeblocks.io/extra-env: '{"KB_KAFKA_ENABLE_SASL":"false","KB_KAFKA_BROKER_HEAP":"-XshowSettings:vm
>       -XX:MaxRAMPercentage=100 -Ddepth=64","KB_KAFKA_CONTROLLER_HEAP":"-XshowSettings:vm
>       -XX:MaxRAMPercentage=100 -Ddepth=64","KB_KAFKA_PUBLIC_ACCESS":"false", "KB_KAFKA_BROKER_NODEPORT":
>       "false"}'
>     kubeblocks.io/generation: "8"
9c15,16
<   generation: 5
---
>   - component.kubeblocks.io/finalizer
>   generation: 6
28c35
<   resourceVersion: "769938"
---
>   resourceVersion: "984408"
37c44
<   monitor: true
---
>   disableExporter: false
46c53
<   rsmTransformPolicy: ToSts
---
>   serviceVersion: 3.3.2
71c78
<     observedGeneration: 5
---
>     observedGeneration: 6
75c82
<   observedGeneration: 5
---
>   observedGeneration: 6

diff sts with its

➜  ~ diff 0.8.3/sts/sts-kafka-cluster-broker.yaml 0.9.0/its/its-kafka-cluster-broker.yaml
1,2c1,2
< apiVersion: apps/v1
< kind: StatefulSet
---
> apiVersion: workloads.kubeblocks.io/v1alpha1
> kind: InstanceSet
4a5,7
>     app.kubernetes.io/component: kafka-combine
>     apps.kubeblocks.io/multi-cluster-placement: ""
>     apps.kubeblocks.io/service-version: 3.3.2
9,10c12,22
<     kubeblocks.io/generation: "7"
<   creationTimestamp: "2024-06-19T06:12:21Z"
---
>     kubeblocks.io/enabled-pod-ordinal-svc: broker
>     kubeblocks.io/extra-env: '{"KB_KAFKA_ENABLE_SASL":"false","KB_KAFKA_BROKER_HEAP":"-XshowSettings:vm
>       -XX:MaxRAMPercentage=100 -Ddepth=64","KB_KAFKA_CONTROLLER_HEAP":"-XshowSettings:vm
>       -XX:MaxRAMPercentage=100 -Ddepth=64","KB_KAFKA_PUBLIC_ACCESS":"false", "KB_KAFKA_BROKER_NODEPORT":
>       "false"}'
>     kubeblocks.io/generation: "8"
>     monitor.kubeblocks.io/path.headless.its: /metrics
>     monitor.kubeblocks.io/port.headless.its: "5556"
>     monitor.kubeblocks.io/scheme.headless.its: http
>     monitor.kubeblocks.io/scrape.headless.its: "true"
>   creationTimestamp: "2024-06-19T09:54:36Z"
12,13c24,26
<   - cluster.kubeblocks.io/finalizer
<   generation: 6
---
>   - component.kubeblocks.io/finalizer
>   - instanceset.workloads.kubeblocks.io/finalizer
>   generation: 1
18a32
>     apps.kubeblocks.io/cluster-uid: 186badad-bdaf-4a42-9ff9-4e19176c81e5
20c34,37
<     rsm.workloads.kubeblocks.io/controller-generation: "6"
---
>     clusterdefinition.kubeblocks.io/name: kafka
>     clusterversion.kubeblocks.io/name: kafka-3.3.2
>     componentdefinition.kubeblocks.io/name: kafka-combine
>     helm.sh/chart: kafka-cluster-0.8.1
24c41
<   - apiVersion: workloads.kubeblocks.io/v1alpha1
---
>   - apiVersion: apps.kubeblocks.io/v1alpha1
27c44
<     kind: ReplicatedStateMachine
---
>     kind: Component
29,31c46,48
<     uid: f17c59b1-f507-4a25-80a3-5a41b763d712
<   resourceVersion: "768898"
<   uid: 2f9ff28a-6847-4738-8faf-89d9cd0d9778
---
>     uid: 750c8a0e-024d-4ac1-9bed-e8e086c448fe
>   resourceVersion: "984645"
>   uid: dbcc0071-a991-4f55-a400-a68ad25c4861
33,35c50,51
<   persistentVolumeClaimRetentionPolicy:
<     whenDeleted: Retain
<     whenScaled: Retain
---
>   memberUpdateStrategy: BestEffortParallel
>   minReadySeconds: 0
38d53
<   revisionHistoryLimit: 10
45d59
<   serviceName: kafka-cluster-broker-headless
49,51c63
<         config.kubeblocks.io/restart-kafka-configuration-tpl: 7588b89999
<         kubeblocks.io/restart: "2024-06-19T06:25:23Z"
<       creationTimestamp: null
---
>         apps.kubeblocks.io/component-replicas: "1"
57a70
>         apps.kubeblocks.io/cluster-uid: 186badad-bdaf-4a42-9ff9-4e19176c81e5
58a72,75
>         clusterdefinition.kubeblocks.io/name: kafka
>         clusterversion.kubeblocks.io/name: kafka-3.3.2
>         componentdefinition.kubeblocks.io/name: kafka-combine
>         helm.sh/chart: kafka-cluster-0.8.1
183,185d199
<         - configMapRef:
<             name: kafka-cluster-broker-rsm-env
<             optional: false
226,227d239
<         terminationMessagePath: /dev/termination-log
<         terminationMessagePolicy: File
323,325d334
<         - configMapRef:
<             name: kafka-cluster-broker-rsm-env
<             optional: false
340,341d348
<         terminationMessagePath: /dev/termination-log
<         terminationMessagePolicy: File
345,347d351
<       dnsPolicy: ClusterFirst
<       restartPolicy: Always
<       schedulerName: default-scheduler
350d353
<       terminationGracePeriodSeconds: 30
358c361
<           defaultMode: 420
---
>           defaultMode: 292
362c365
<           defaultMode: 420
---
>           defaultMode: 292
377,378c380
<   updateStrategy:
<     type: OnDelete
---
>   updateStrategy: {}
380,383c382
<   - apiVersion: v1
<     kind: PersistentVolumeClaim
<     metadata:
<       creationTimestamp: null
---
>   - metadata:
394,400c393,394
<       volumeMode: Filesystem
<     status:
<       phase: Pending
<   - apiVersion: v1
<     kind: PersistentVolumeClaim
<     metadata:
<       creationTimestamp: null
---
>     status: {}
>   - metadata:
411,413c405
<       volumeMode: Filesystem
<     status:
<       phase: Pending
---
>     status: {}
416,418c408,420
<   collisionCount: 0
<   currentRevision: kafka-cluster-broker-78f6577899
<   observedGeneration: 6
---
>   conditions:
>   - lastTransitionTime: "2024-06-19T09:54:40Z"
>     message: ""
>     observedGeneration: 1
>     reason: Ready
>     status: "True"
>     type: InstanceReady
>   currentReplicas: 1
>   currentRevision: 9cf9c7468
>   currentRevisions:
>     kafka-cluster-broker-0: 9cf9c7468
>   initReplicas: 0
>   observedGeneration: 1
421c423,425
<   updateRevision: kafka-cluster-broker-7d64445c9b
---
>   updateRevision: 9cf9c7468
>   updateRevisions:
>     kafka-cluster-broker-0: 9cf9c7468

0.8-cluster-kafka-cluster.txt 0.8-component-kafka-cluster-broker.txt 0.8-sts-kafka-cluster-broker.txt

0.9-cluster-kafka-cluster.txt 0.9-component-kafka-cluster-broker.txt 0.9-its-kafka-cluster-broker.txt

JashBook avatar Jun 19 '24 10:06 JashBook

Most of the clusters' sts were converted to its, but a few were not.

 kubectl get sts -n ns-cluster
NAME                          READY   AGE
orioledb-cluster-orioledb     5/5     4h15m
postgres-cluster-postgresql   3/3     4h22m
smarte-cluster-mysql          2/2     4h22m
➜  ~ kubectl get its -n ns-cluster
NAME                              LEADER                         READY   REPLICAS   AGE
asm-cluster-mysql                                                3       3          44m
camellia-cluster-proxy                                           4       4          43m
chouse-cluster-clickhouse                                        3       3          43m
etcd-cluster-etcd                 etcd-cluster-etcd-0            1       1          44m
etcdo-cluster-etcd                etcdo-cluster-etcd-2           3       3          44m
etcdr-cluster-etcd                etcdr-cluster-etcd-2           3       3          44m
flink-cluster-jobmanager                                         1       1          44m
flink-cluster-taskmanager                                        3       3          44m
foxlake-cluster-foxlake-metadb                                   1       1          44m
foxlake-cluster-foxlake-server                                   1       1          44m
ggml-cluster-ggml                                                1       1          44m
greptime-cluster-datanode                                        1       1          44m
greptime-cluster-etcd             greptime-cluster-etcd-0        3       3          44m
greptime-cluster-frontend                                        1       1          44m
greptime-cluster-meta                                            1       1          44m
influx-cluster-influxdb                                          1       1          44m
kafka-cluster-broker                                             1       1          44m
mariadb-cluster-mariadb-compdef                                  1       1          44m
milvus-cluster-etcd                                              1       1          44m
milvus-cluster-milvus                                            1       1          44m
milvus-cluster-minio                                             1       1          44m
mogdb-cluster-mogdb               mogdb-cluster-mogdb-0          3       3          44m
mongo-cluster-mongodb             mongo-cluster-mongodb-2        3       3          44m
nebula-cluster-nebula-console                                    3       3          44m
nebula-cluster-nebula-graphd                                     1       1          44m
nebula-cluster-nebula-metad                                      3       3          43m
nebula-cluster-nebula-storaged                                   3       3          44m
obce-cluster-oceanbase                                           2       2          44m
ogauss-cluster-opengauss                                         1       1          44m
oldap-cluster-openldap-compdef                                   1       1          44m
omysql-cluster-mysql-compdef                                     1       1          44m
oracle-cluster-oracle                                            1       1          44m
osearch-cluster-dashboard                                        1       1          44m
osearch-cluster-opensearch                                       1       1          44m
pika-cluster-codis-dashboard                                     1       1          44m
pika-cluster-codis-fe                                            1       1          44m
pika-cluster-codis-proxy                                         2       2          44m
pika-cluster-etcd                                                3       3          44m
pika-cluster-pika-group                                          3       3          44m
pika-cluster-pika-group-1                                        1       1          44m
polardbx-cluster-cdc                                             1       1          44m
polardbx-cluster-cn                                              1       1          44m
polardbx-cluster-dn               polardbx-cluster-dn-2          2       3          44m
polardbx-cluster-gms              polardbx-cluster-gms-0         1       1          44m
pulsar-cluster-bookies                                           5       5          44m
pulsar-cluster-pulsar-broker                                     2       2          43m
pulsar-cluster-pulsar-proxy                                      1       1          43m
pulsar-cluster-zookeeper                                         3       3          43m
qdrant-cluster-qdrant                                            3       3          44m
rcluster-cluster-shard-d5n        rcluster-cluster-shard-d5n-0   1       1          44m
rcluster-cluster-shard-j6b        rcluster-cluster-shard-j6b-0   1       1          43m
rcluster-cluster-shard-td7        rcluster-cluster-shard-td7-0   1       1          44m
redis-cluster-redis               redis-cluster-redis-0          3       3          43m
redis-cluster-redis-sentinel                                     3       3          44m
redis-cluster-redis-twemproxy                                    3       3          44m
redisc-cluster-redis              redisc-cluster-redis-1         2       2          43m
redisc-cluster-redis-sentinel                                    3       3          44m
redisc-cluster-redis-twemproxy                                   3       3          44m
rswave-cluster-compactor                                         1       1          44m
rswave-cluster-compute                                           3       3          44m
rswave-cluster-connector                                         1       1          44m
rswave-cluster-frontend                                          3       3          44m
rswave-cluster-meta                                              1       1          44m
scale-cluster-vtcontroller                                       1       1          44m
scale-cluster-vtgate                                             1       1          44m
strsce-cluster-be                                                1       1          44m
strsce-cluster-fe                                                1       1          44m
tdengine-cluster-tdengine                                        3       3          44m
weaviate-cluster-weaviate                                        1       2          44m
zkeeper-cluster-zookeeper                                        1       1          44m
``

JashBook avatar Jun 19 '24 11:06 JashBook