kubeblocks
kubeblocks copied to clipboard
[BUG]orioledb pod restart after upgrade kb from 0.7.2 to 0.8
- Install kb 0.7.2, create cluster
- upgrade kb to 0.8.2-beta.10
- orioledb restart
orioledb-tfvbyd-orioledb-0 0/5 ContainerCreating 0 5s
orioledb-tfvbyd-orioledb-1 5/5 Running 0 77s
➜ ~ k get rsm orioledb-tfvbyd-orioledb -o yaml
apiVersion: workloads.kubeblocks.io/v1alpha1
kind: ReplicatedStateMachine
metadata:
annotations:
config.kubeblocks.io/tpl-agamotto-configuration: orioledb-tfvbyd-orioledb-agamotto-configuration
config.kubeblocks.io/tpl-etcd-env: orioledb-tfvbyd-orioledb-etcd-env
config.kubeblocks.io/tpl-orioledb-configuration: orioledb-tfvbyd-orioledb-orioledb-configuration
config.kubeblocks.io/tpl-orioledb-custom-metrics: orioledb-tfvbyd-orioledb-orioledb-custom-metrics
config.kubeblocks.io/tpl-orioledb-pgbouncer-configuration: orioledb-tfvbyd-orioledb-orioledb-pgbouncer-configuration
config.kubeblocks.io/tpl-orioledb-scripts: orioledb-tfvbyd-orioledb-orioledb-scripts
kubeblocks.io/generation: "1"
monitor.kubeblocks.io/agamotto.headless.rsm: "false"
monitor.kubeblocks.io/scrape.headless.rsm: "false"
creationTimestamp: "2024-02-28T02:56:02Z"
finalizers:
- cluster.kubeblocks.io/finalizer
- rsm.workloads.kubeblocks.io/finalizer
generation: 2
labels:
app.kubernetes.io/component: orioledb
app.kubernetes.io/instance: orioledb-tfvbyd
app.kubernetes.io/managed-by: kubeblocks
app.kubernetes.io/name: orioledb
apps.kubeblocks.io/component-name: orioledb
name: orioledb-tfvbyd-orioledb
namespace: default
ownerReferences:
- apiVersion: apps.kubeblocks.io/v1alpha1
blockOwnerDeletion: true
controller: true
kind: Cluster
name: orioledb-tfvbyd
uid: cc0f6d02-47a3-4778-8b15-e620f2139496
resourceVersion: "523989"
uid: 41260ba5-a9f9-416e-8268-e7144696f2f8
spec:
credential:
password:
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
username:
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
memberUpdateStrategy: Serial
podManagementPolicy: Parallel
replicas: 2
roleProbe:
builtinHandlerName: postgresql
failureThreshold: 2
initialDelaySeconds: 0
periodSeconds: 1
roleUpdateMechanism: DirectAPIServerEventUpdate
successThreshold: 1
timeoutSeconds: 1
roles:
- accessMode: ReadWrite
canVote: true
isLeader: true
name: primary
- accessMode: Readonly
canVote: true
isLeader: false
name: secondary
rsmTransformPolicy: ToSts
selector:
matchLabels:
app.kubernetes.io/instance: orioledb-tfvbyd
app.kubernetes.io/managed-by: kubeblocks
app.kubernetes.io/name: orioledb
apps.kubeblocks.io/component-name: orioledb
service:
metadata:
labels:
app.kubernetes.io/component: orioledb
app.kubernetes.io/instance: orioledb-tfvbyd
app.kubernetes.io/managed-by: kubeblocks
app.kubernetes.io/name: orioledb
apps.kubeblocks.io/component-name: orioledb
spec:
ports:
- name: tcp-orioledb
port: 5432
protocol: TCP
targetPort: tcp-orioledb
- name: tcp-pgbouncer
port: 6432
protocol: TCP
targetPort: tcp-pgbouncer
selector:
app.kubernetes.io/instance: orioledb-tfvbyd
app.kubernetes.io/managed-by: kubeblocks
apps.kubeblocks.io/component-name: orioledb
type: ClusterIP
status:
loadBalancer: {}
serviceName: orioledb-tfvbyd-orioledb-headless
template:
metadata:
labels:
app.kubernetes.io/component: orioledb
app.kubernetes.io/instance: orioledb-tfvbyd
app.kubernetes.io/managed-by: kubeblocks
app.kubernetes.io/name: orioledb
app.kubernetes.io/version: orioledb-beta1
apps.kubeblocks.io/component-name: orioledb
apps.kubeblocks.io/workload-type: Replication
spec:
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: kb-data
operator: In
values:
- "true"
weight: 100
podAntiAffinity: {}
containers:
- command:
- bin/bash
- -c
- /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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc
- name: PGROOT
value: /home/postgres/pgdata/pgroot
- 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: RESTORE_DATA_DIR
value: /home/postgres/pgdata/kb_restore
- name: KB_PG_CONFIG_PATH
value: /home/postgres/conf/postgresql.conf
- name: ALLOW_NOSSL
value: "true"
- name: PGROOT
value: /home/postgres/pgdata/pgroot
- name: PGDATA
value: /home/postgres/pgdata/pgroot/data
- 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: orioledb-tfvbyd-conn-credential
optional: false
- name: PGPASSWORD_SUPERUSER
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
- name: PGUSER_ADMIN
value: superadmin
- name: PGPASSWORD_ADMIN
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
- name: PGUSER_STANDBY
value: standby
- name: PGPASSWORD_STANDBY
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
- name: PGUSER
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
optional: false
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
envFrom:
- configMapRef:
name: orioledb-tfvbyd-orioledb-env
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/orioledb:beta1
imagePullPolicy: IfNotPresent
name: postgresql
ports:
- containerPort: 5432
name: tcp-orioledb
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: 100m
memory: 512Mi
requests:
cpu: 100m
memory: 512Mi
securityContext:
runAsUser: 0
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
- mountPath: /dependency
name: patroni-dependency
- 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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc
- name: PGBOUNCER_AUTH_TYPE
value: md5
- name: POSTGRESQL_USERNAME
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
optional: false
- name: POSTGRESQL_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-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: orioledb-tfvbyd-orioledb-env
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/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
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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc
- name: ENDPOINT
value: 127.0.0.1:5432
- name: DATA_SOURCE_PASS
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
- name: DATA_SOURCE_USER
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
optional: false
envFrom:
- configMapRef:
name: orioledb-tfvbyd-orioledb-env
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/agamotto:0.1.0-beta.5
imagePullPolicy: IfNotPresent
name: metrics
ports:
- containerPort: 9187
name: http-metrics
protocol: TCP
resources:
limits:
cpu: "0"
memory: "0"
securityContext:
runAsUser: 0
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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc
- name: KB_SERVICE_PORT
value: "5432"
- name: KB_DATA_PATH
value: /home/postgres/pgdata
- name: KB_BUILTIN_HANDLER
value: postgresql
- name: KB_SERVICE_USER
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
- name: KB_SERVICE_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
envFrom:
- configMapRef:
name: orioledb-tfvbyd-orioledb-env
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools:0.8.2-beta.10
imagePullPolicy: IfNotPresent
name: kb-checkrole
ports:
- containerPort: 3501
name: lorry-http-port
protocol: TCP
- containerPort: 50001
name: lorry-grpc-port
protocol: TCP
readinessProbe:
failureThreshold: 2
httpGet:
path: /v1.0/checkrole
port: 3501
periodSeconds: 1
timeoutSeconds: 1
resources:
limits:
cpu: "0"
memory: "0"
startupProbe:
tcpSocket:
port: 3501
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
- --volume-dir
- /home/postgres/conf
- --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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-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/orioledb-configuration:/opt/config-manager
envFrom:
- configMapRef:
name: orioledb-tfvbyd-orioledb-env
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools:0.8.2-beta.10
imagePullPolicy: IfNotPresent
name: config-manager
resources:
limits:
cpu: "0"
memory: "0"
volumeMounts:
- mountPath: /home/postgres/conf
name: postgresql-config
- mountPath: /opt/kb-tools/reload/orioledb-configuration
name: cm-script-orioledb-configuration
- mountPath: /opt/config-manager
name: config-manager-config
securityContext:
fsGroup: 103
runAsGroup: 103
runAsUser: 0
serviceAccountName: kb-orioledb-tfvbyd
tolerations:
- effect: NoSchedule
key: kb-data
operator: Equal
value: "true"
volumes:
- emptyDir:
medium: Memory
sizeLimit: 512Mi
name: dshm
- downwardAPI:
items:
- fieldRef:
fieldPath: metadata.labels['kubeblocks.io/role']
path: pod-role
- fieldRef:
fieldPath: metadata.annotations['rs.apps.kubeblocks.io/primary']
path: primary-pod
- fieldRef:
fieldPath: metadata.annotations['apps.kubeblocks.io/component-replicas']
path: component-replicas
name: pod-info
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-agamotto-configuration
name: agamotto-configuration
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-etcd-env
name: patroni-dependency
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-orioledb-configuration
name: postgresql-config
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-orioledb-custom-metrics
name: postgresql-custom-metrics
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-orioledb-pgbouncer-configuration
name: pgbouncer-config
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-orioledb-scripts
name: scripts
- configMap:
defaultMode: 493
name: sidecar-orioledb-patroni-reload-script-orioledb-tfvbyd
name: cm-script-orioledb-configuration
- configMap:
defaultMode: 493
name: sidecar-orioledb-tfvbyd-orioledb-config-manager-config
name: config-manager-config
- emptyDir: {}
name: data
updateStrategy:
type: OnDelete
volumeClaimTemplates:
- metadata:
labels:
apps.kubeblocks.io/vct-name: data
kubeblocks.io/volume-type: data
name: data
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
status: {}
status:
availableReplicas: 2
collisionCount: 0
currentGeneration: 2
currentRevision: orioledb-tfvbyd-orioledb-6c998b585d
initReplicas: 2
membersStatus:
- podName: orioledb-tfvbyd-orioledb-0
readyWithoutPrimary: false
role:
accessMode: ReadWrite
canVote: true
isLeader: true
name: primary
- podName: orioledb-tfvbyd-orioledb-1
readyWithoutPrimary: false
role:
accessMode: Readonly
canVote: true
isLeader: false
name: secondary
observedGeneration: 2
readyInitReplicas: 2
readyReplicas: 2
replicas: 2
updateRevision: orioledb-tfvbyd-orioledb-d9697c668
updatedReplicas: 2
➜ ~ k get sts orioledb-tfvbyd-orioledb -o yaml
apiVersion: apps/v1
kind: StatefulSet
metadata:
annotations:
config.kubeblocks.io/tpl-agamotto-configuration: orioledb-tfvbyd-orioledb-agamotto-configuration
config.kubeblocks.io/tpl-etcd-env: orioledb-tfvbyd-orioledb-etcd-env
config.kubeblocks.io/tpl-orioledb-configuration: orioledb-tfvbyd-orioledb-orioledb-configuration
config.kubeblocks.io/tpl-orioledb-custom-metrics: orioledb-tfvbyd-orioledb-orioledb-custom-metrics
config.kubeblocks.io/tpl-orioledb-pgbouncer-configuration: orioledb-tfvbyd-orioledb-orioledb-pgbouncer-configuration
config.kubeblocks.io/tpl-orioledb-scripts: orioledb-tfvbyd-orioledb-orioledb-scripts
kubeblocks.io/generation: "1"
creationTimestamp: "2024-02-28T02:56:03Z"
finalizers:
- cluster.kubeblocks.io/finalizer
generation: 2
labels:
app.kubernetes.io/component: orioledb
app.kubernetes.io/instance: orioledb-tfvbyd
app.kubernetes.io/managed-by: kubeblocks
app.kubernetes.io/name: orioledb
apps.kubeblocks.io/component-name: orioledb
rsm.workloads.kubeblocks.io/controller-generation: "2"
name: orioledb-tfvbyd-orioledb
namespace: default
ownerReferences:
- apiVersion: workloads.kubeblocks.io/v1alpha1
blockOwnerDeletion: true
controller: true
kind: ReplicatedStateMachine
name: orioledb-tfvbyd-orioledb
uid: 41260ba5-a9f9-416e-8268-e7144696f2f8
resourceVersion: "523988"
uid: 06ee599f-4485-4ae9-ba85-47a26c57b0ce
spec:
persistentVolumeClaimRetentionPolicy:
whenDeleted: Retain
whenScaled: Retain
podManagementPolicy: Parallel
replicas: 2
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/instance: orioledb-tfvbyd
app.kubernetes.io/managed-by: kubeblocks
app.kubernetes.io/name: orioledb
apps.kubeblocks.io/component-name: orioledb
serviceName: orioledb-tfvbyd-orioledb-headless
template:
metadata:
creationTimestamp: null
labels:
app.kubernetes.io/component: orioledb
app.kubernetes.io/instance: orioledb-tfvbyd
app.kubernetes.io/managed-by: kubeblocks
app.kubernetes.io/name: orioledb
app.kubernetes.io/version: orioledb-beta1
apps.kubeblocks.io/component-name: orioledb
apps.kubeblocks.io/workload-type: Replication
spec:
affinity:
nodeAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- preference:
matchExpressions:
- key: kb-data
operator: In
values:
- "true"
weight: 100
podAntiAffinity: {}
containers:
- command:
- bin/bash
- -c
- /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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc
- name: PGROOT
value: /home/postgres/pgdata/pgroot
- 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: RESTORE_DATA_DIR
value: /home/postgres/pgdata/kb_restore
- name: KB_PG_CONFIG_PATH
value: /home/postgres/conf/postgresql.conf
- name: ALLOW_NOSSL
value: "true"
- name: PGROOT
value: /home/postgres/pgdata/pgroot
- name: PGDATA
value: /home/postgres/pgdata/pgroot/data
- 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: orioledb-tfvbyd-conn-credential
optional: false
- name: PGPASSWORD_SUPERUSER
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
- name: PGUSER_ADMIN
value: superadmin
- name: PGPASSWORD_ADMIN
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
- name: PGUSER_STANDBY
value: standby
- name: PGPASSWORD_STANDBY
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
- name: PGUSER
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
optional: false
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
envFrom:
- configMapRef:
name: orioledb-tfvbyd-orioledb-env
- configMapRef:
name: orioledb-tfvbyd-orioledb-rsm-env
optional: false
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/orioledb:beta1
imagePullPolicy: IfNotPresent
name: postgresql
ports:
- containerPort: 5432
name: tcp-orioledb
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: 100m
memory: 512Mi
requests:
cpu: 100m
memory: 512Mi
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
- mountPath: /dependency
name: patroni-dependency
- 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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc
- name: PGBOUNCER_AUTH_TYPE
value: md5
- name: POSTGRESQL_USERNAME
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
optional: false
- name: POSTGRESQL_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-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: orioledb-tfvbyd-orioledb-env
- configMapRef:
name: orioledb-tfvbyd-orioledb-rsm-env
optional: false
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc
- name: ENDPOINT
value: 127.0.0.1:5432
- name: DATA_SOURCE_PASS
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
optional: false
- name: DATA_SOURCE_USER
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
optional: false
envFrom:
- configMapRef:
name: orioledb-tfvbyd-orioledb-env
- configMapRef:
name: orioledb-tfvbyd-orioledb-rsm-env
optional: false
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/agamotto:0.1.0-beta.5
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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-headless.$(KB_NAMESPACE).svc
- name: KB_SERVICE_PORT
value: "5432"
- name: KB_DATA_PATH
value: /home/postgres/pgdata
- name: KB_BUILTIN_HANDLER
value: postgresql
- name: KB_SERVICE_USER
valueFrom:
secretKeyRef:
key: username
name: orioledb-tfvbyd-conn-credential
- name: KB_SERVICE_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: orioledb-tfvbyd-conn-credential
- name: KB_RSM_ACTION_SVC_LIST
value: "null"
- name: KB_RSM_SERVICE_PORT
value: "5432"
- name: KB_RSM_ROLE_UPDATE_MECHANISM
value: DirectAPIServerEventUpdate
- name: KB_RSM_ROLE_PROBE_TIMEOUT
value: "1"
- name: KB_SERVICE_CHARACTER_TYPE
value: postgresql
envFrom:
- configMapRef:
name: orioledb-tfvbyd-orioledb-env
- configMapRef:
name: orioledb-tfvbyd-orioledb-rsm-env
optional: false
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools:0.8.2-beta.10
imagePullPolicy: IfNotPresent
name: kb-checkrole
ports:
- containerPort: 3501
name: lorry-http-port
protocol: TCP
- containerPort: 50001
name: lorry-grpc-port
protocol: TCP
readinessProbe:
failureThreshold: 2
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
- --volume-dir
- /home/postgres/conf
- --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_CLUSTER_NAME
value: orioledb-tfvbyd
- name: KB_COMP_NAME
value: orioledb
- name: KB_CLUSTER_COMP_NAME
value: orioledb-tfvbyd-orioledb
- name: KB_CLUSTER_UID_POSTFIX_8
value: f2139496
- name: KB_POD_FQDN
value: $(KB_POD_NAME).$(KB_CLUSTER_COMP_NAME)-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/orioledb-configuration:/opt/config-manager
envFrom:
- configMapRef:
name: orioledb-tfvbyd-orioledb-env
- configMapRef:
name: orioledb-tfvbyd-orioledb-rsm-env
optional: false
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/kubeblocks-tools:0.8.2-beta.10
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/orioledb-configuration
name: cm-script-orioledb-configuration
- mountPath: /opt/config-manager
name: config-manager-config
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext:
fsGroup: 103
runAsGroup: 103
runAsUser: 0
serviceAccount: kb-orioledb-tfvbyd
serviceAccountName: kb-orioledb-tfvbyd
terminationGracePeriodSeconds: 30
tolerations:
- effect: NoSchedule
key: kb-data
operator: Equal
value: "true"
volumes:
- emptyDir:
medium: Memory
sizeLimit: 512Mi
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: orioledb-tfvbyd-orioledb-agamotto-configuration
name: agamotto-configuration
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-etcd-env
name: patroni-dependency
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-orioledb-configuration
name: postgresql-config
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-orioledb-custom-metrics
name: postgresql-custom-metrics
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-orioledb-pgbouncer-configuration
name: pgbouncer-config
- configMap:
defaultMode: 511
name: orioledb-tfvbyd-orioledb-orioledb-scripts
name: scripts
- configMap:
defaultMode: 493
name: sidecar-orioledb-patroni-reload-script-orioledb-tfvbyd
name: cm-script-orioledb-configuration
- configMap:
defaultMode: 493
name: sidecar-orioledb-tfvbyd-orioledb-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: 1Gi
volumeMode: Filesystem
status:
phase: Pending
status:
availableReplicas: 2
collisionCount: 0
currentRevision: orioledb-tfvbyd-orioledb-6c998b585d
observedGeneration: 2
readyReplicas: 2
replicas: 2
updateRevision: orioledb-tfvbyd-orioledb-d9697c668
updatedReplicas: 2
➜ ~ k get cd orioledb -o yaml
apiVersion: apps.kubeblocks.io/v1alpha1
kind: ClusterDefinition
metadata:
annotations:
meta.helm.sh/release-name: kb-addon-orioledb
meta.helm.sh/release-namespace: kb-system
creationTimestamp: "2024-02-28T02:55:23Z"
finalizers:
- clusterdefinition.kubeblocks.io/finalizer
generation: 2
labels:
app.kubernetes.io/instance: kb-addon-orioledb
app.kubernetes.io/managed-by: Helm
app.kubernetes.io/name: orioledb
app.kubernetes.io/version: 14.7.2-beta1
config.kubeblocks.io/constraints-orioledb-cc: orioledb-cc
config.kubeblocks.io/tpl-agamotto-configuration: orioledb-agamotto-configuration
config.kubeblocks.io/tpl-etcd-env: etcd-env
config.kubeblocks.io/tpl-orioledb-configuration: orioledb-configuration
config.kubeblocks.io/tpl-orioledb-custom-metrics: orioledb-custom-metrics
config.kubeblocks.io/tpl-orioledb-pgbouncer-configuration: orioledb-pgbouncer-configuration
config.kubeblocks.io/tpl-orioledb-scripts: orioledb-scripts
helm.sh/chart: orioledb-0.7.2
name: orioledb
resourceVersion: "489638"
uid: 9305bf83-bae8-4bf3-9af3-91d3c95de834
spec:
componentDefs:
- characterType: postgresql
configSpecs:
- constraintRef: orioledb-cc
defaultMode: 511
keys:
- postgresql.conf
name: orioledb-configuration
namespace: kb-system
templateRef: orioledb-configuration
volumeName: postgresql-config
- defaultMode: 511
keys:
- pgbouncer.ini
name: orioledb-pgbouncer-configuration
namespace: kb-system
templateRef: orioledb-pgbouncer-configuration
volumeName: pgbouncer-config
- defaultMode: 511
name: orioledb-custom-metrics
namespace: kb-system
templateRef: orioledb-custom-metrics
volumeName: postgresql-custom-metrics
- defaultMode: 511
name: agamotto-configuration
namespace: kb-system
templateRef: orioledb-agamotto-configuration
volumeName: agamotto-configuration
- defaultMode: 511
name: etcd-env
namespace: kb-system
templateRef: etcd-env
volumeName: patroni-dependency
customLabelSpecs:
- key: apps.kubeblocks.postgres.patroni/scope
resources:
- gvk: v1/Pod
selector:
app.kubernetes.io/managed-by: kubeblocks
- gvk: apps/v1/StatefulSet
selector:
app.kubernetes.io/managed-by: kubeblocks
value: $(KB_CLUSTER_NAME)-$(KB_COMP_NAME)-patroni$(KB_CLUSTER_UID_POSTFIX_8)
logConfigs:
- filePathPattern: /home/postgres/pgdata/pgroot/data/log/postgresql-*
name: running
monitor:
builtIn: false
exporterConfig:
scrapePath: /metrics
scrapePort: 9187
name: orioledb
podSpec:
containers:
- command:
- bin/bash
- -c
- /kb-scripts/setup.sh
env:
- name: PGROOT
value: /home/postgres/pgdata/pgroot
- 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: RESTORE_DATA_DIR
value: /home/postgres/pgdata/kb_restore
- name: KB_PG_CONFIG_PATH
value: /home/postgres/conf/postgresql.conf
- name: ALLOW_NOSSL
value: "true"
- name: PGROOT
value: /home/postgres/pgdata/pgroot
- name: PGDATA
value: /home/postgres/pgdata/pgroot/data
- 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: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
- name: PGPASSWORD_SUPERUSER
valueFrom:
secretKeyRef:
key: password
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
- name: PGUSER_ADMIN
value: superadmin
- name: PGPASSWORD_ADMIN
valueFrom:
secretKeyRef:
key: password
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
- name: PGUSER_STANDBY
value: standby
- name: PGPASSWORD_STANDBY
valueFrom:
secretKeyRef:
key: password
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
- name: PGUSER
valueFrom:
secretKeyRef:
key: username
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
- name: POSTGRES_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
imagePullPolicy: IfNotPresent
name: postgresql
ports:
- containerPort: 5432
name: tcp-orioledb
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: {}
securityContext:
runAsUser: 0
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
- mountPath: /dependency
name: patroni-dependency
- command:
- /kb-scripts/pgbouncer_setup.sh
env:
- name: PGBOUNCER_AUTH_TYPE
value: md5
- name: POSTGRESQL_USERNAME
valueFrom:
secretKeyRef:
key: username
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
- name: POSTGRESQL_PASSWORD
valueFrom:
secretKeyRef:
key: password
name: $(CONN_CREDENTIAL_SECRET_NAME)
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
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: {}
securityContext:
runAsUser: 0
volumeMounts:
- mountPath: /home/pgbouncer/conf
name: pgbouncer-config
- mountPath: /kb-scripts
name: scripts
- command:
- /bin/agamotto
- --config=/opt/agamotto/agamotto-config.yaml
env:
- name: ENDPOINT
value: 127.0.0.1:5432
- name: DATA_SOURCE_PASS
valueFrom:
secretKeyRef:
key: password
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
- name: DATA_SOURCE_USER
valueFrom:
secretKeyRef:
key: username
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/agamotto:0.1.0-beta.5
imagePullPolicy: IfNotPresent
name: metrics
ports:
- containerPort: 9187
name: http-metrics
protocol: TCP
resources: {}
securityContext:
runAsUser: 0
volumeMounts:
- mountPath: /opt/conf
name: postgresql-custom-metrics
- mountPath: /opt/agamotto
name: agamotto-configuration
securityContext:
fsGroup: 103
runAsGroup: 103
runAsUser: 0
volumes:
- emptyDir:
medium: Memory
name: dshm
- downwardAPI:
items:
- fieldRef:
fieldPath: metadata.labels['kubeblocks.io/role']
path: pod-role
- fieldRef:
fieldPath: metadata.annotations['rs.apps.kubeblocks.io/primary']
path: primary-pod
- fieldRef:
fieldPath: metadata.annotations['apps.kubeblocks.io/component-replicas']
path: component-replicas
name: pod-info
probes:
roleProbe:
failureThreshold: 2
periodSeconds: 1
timeoutSeconds: 1
scriptSpecs:
- defaultMode: 511
name: orioledb-scripts
namespace: kb-system
templateRef: orioledb-scripts
volumeName: scripts
service:
ports:
- name: tcp-orioledb
port: 5432
protocol: TCP
targetPort: tcp-orioledb
- name: tcp-pgbouncer
port: 6432
protocol: TCP
targetPort: tcp-pgbouncer
serviceRefDeclarations:
- name: etcdService
serviceRefDeclarationSpecs:
- serviceKind: etcd
serviceVersion: ^v3.\d...d$
switchoverSpec:
withCandidate:
cmdExecutorConfig:
args:
- curl -s http://$(KB_REPLICATION_PRIMARY_POD_FQDN):8008/switchover -XPOST
-d '{"leader":"$(KB_REPLICATION_PRIMARY_POD_NAME)","candidate":"$(KB_SWITCHOVER_CANDIDATE_NAME)"}'
command:
- /bin/bash
- -c
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/orioledb:beta1
withoutCandidate:
cmdExecutorConfig:
args:
- curl -s http://$(KB_REPLICATION_PRIMARY_POD_FQDN):8008/switchover -XPOST
-d '{"leader":"$(KB_REPLICATION_PRIMARY_POD_NAME)"}'
command:
- /bin/bash
- -c
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/orioledb:beta1
systemAccounts:
accounts:
- name: kbadmin
provisionPolicy:
scope: AnyPods
statements:
creation: CREATE USER $(USERNAME) SUPERUSER PASSWORD '$(PASSWD)';
update: ALTER USER $(USERNAME) WITH PASSWORD '$(PASSWD)';
type: CreateByStmt
- name: kbdataprotection
provisionPolicy:
scope: AnyPods
statements:
creation: CREATE USER $(USERNAME) SUPERUSER PASSWORD '$(PASSWD)';
update: ALTER USER $(USERNAME) WITH PASSWORD '$(PASSWD)';
type: CreateByStmt
- name: kbprobe
provisionPolicy:
scope: AnyPods
statements:
creation: CREATE USER $(USERNAME) WITH PASSWORD '$(PASSWD)'; GRANT pg_monitor
TO $(USERNAME);
update: ALTER USER $(USERNAME) WITH PASSWORD '$(PASSWD)';
type: CreateByStmt
- name: kbmonitoring
provisionPolicy:
scope: AnyPods
statements:
creation: CREATE USER $(USERNAME) WITH PASSWORD '$(PASSWD)'; GRANT pg_monitor
TO $(USERNAME);
update: ALTER USER $(USERNAME) WITH PASSWORD '$(PASSWD)';
type: CreateByStmt
- name: kbreplicator
provisionPolicy:
scope: AnyPods
statements:
creation: CREATE USER $(USERNAME) WITH REPLICATION PASSWORD '$(PASSWD)';
update: ALTER USER $(USERNAME) WITH PASSWORD '$(PASSWD)';
type: CreateByStmt
cmdExecutorConfig:
args:
- -h$(KB_ACCOUNT_ENDPOINT)
- -c
- $(KB_ACCOUNT_STATEMENT)
command:
- psql
env:
- name: PGUSER
valueFrom:
secretKeyRef:
key: username
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
- name: PGPASSWORD
valueFrom:
secretKeyRef:
key: password
name: $(CONN_CREDENTIAL_SECRET_NAME)
optional: false
image: infracreate-registry.cn-zhangjiakou.cr.aliyuncs.com/apecloud/orioledb:beta1
passwordConfig:
length: 10
letterCase: MixedCases
numDigits: 5
numSymbols: 0
volumeTypes:
- name: data
type: data
workloadType: Replication
connectionCredential:
endpoint: $(SVC_FQDN):$(SVC_PORT_tcp-orioledb)
host: $(SVC_FQDN)
password: $(RANDOM_PASSWD)
port: $(SVC_PORT_tcp-orioledb)
username: postgres
type: orioledb
status:
observedGeneration: 2
phase: Available
This issue has been marked as stale because it has been open for 30 days with no activity