Hi Nickolay,
Thank you for investigate my issue, I really appreciate it.
Pod describe:
kubectl describe pod/my-cluster-name-rs0-0 -n psmdb
Name: my-cluster-name-rs0-0
Namespace: psmdb
Priority: 0
Service Account: default
Node: node2/178.0.3.102
Start Time: Mon, 31 Jul 2023 09:43:08 +0200
Labels: app.kubernetes.io/component=mongod
app.kubernetes.io/instance=my-cluster-name
app.kubernetes.io/managed-by=percona-server-mongodb-operator
app.kubernetes.io/name=percona-server-mongodb
app.kubernetes.io/part-of=percona-server-mongodb
app.kubernetes.io/replset=rs0
controller-revision-hash=my-cluster-name-rs0-57f5bcdbdf
statefulset.kubernetes.io/pod-name=my-cluster-name-rs0-0
Annotations: cni.projectcalico.org/containerID: 64c6e2ddefa4b22add3b3df35194adf20d85c3f5afb8b9a0dd7b75e3d7959cbe
cni.projectcalico.org/podIP: 10.233.96.76/32
cni.projectcalico.org/podIPs: 10.233.96.76/32
Open Source Database Software Support & Services | Percona
Open Source Database Software Support & Services | Percona
Status: Pending
IP: 10.233.96.76
IPs:
IP: 10.233.96.76
Controlled By: StatefulSet/my-cluster-name-rs0
Init Containers:
mongo-init:
Container ID: containerd://533d56b5aedf8658d6329f0c9636601f1fa9c9c561f2566bbfc9a51fa3c22b5f
Image: percona/percona-server-mongodb-operator:1.14.0
Image ID: docker.io/percona/percona-server-mongodb-operator@sha256:b5db0eae838e338f43633163a43579f57468b05144bde1fa161825a132b29bd2
Port:
Host Port:
Command:
/init-entrypoint.sh
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 127
Started: Mon, 31 Jul 2023 12:28:49 +0200
Finished: Mon, 31 Jul 2023 12:28:49 +0200
Ready: False
Restart Count: 37
Limits:
cpu: 300m
memory: 500M
Requests:
cpu: 300m
memory: 500M
Environment:
Mounts:
/data/db from mongod-data (rw)
/opt/percona from bin (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-kh74v (ro)
Containers:
mongod:
Container ID:
Image: percona/percona-server-mongodb:4.4
Image ID:
Port: 27017/TCP
Host Port: 0/TCP
Command:
/opt/percona/ps-entry.sh
Args:
–bind_ip_all
–auth
–dbpath=/data/db
–port=27017
–replSet=rs0
–storageEngine=wiredTiger
–relaxPermChecks
–sslAllowInvalidCertificates
–clusterAuthMode=keyFile
–keyFile=/etc/mongodb-secrets/mongodb-key
–shardsvr
–enableEncryption
–encryptionKeyFile=/etc/mongodb-encryption/encryption-key
–wiredTigerCacheSizeGB=0.25
–wiredTigerIndexPrefixCompression=true
State: Waiting
Reason: PodInitializing
Ready: False
Restart Count: 0
Limits:
cpu: 300m
memory: 500M
Requests:
cpu: 300m
memory: 500M
Liveness: exec [/opt/percona/mongodb-healthcheck k8s liveness --ssl --sslInsecure --sslCAFile /etc/mongodb-ssl/ca.crt --sslPEMKeyFile /tmp/tls.pem --startupDelaySeconds 7200] delay=60s timeout=10s period=30s #success=1 #fa
ilure=4
Readiness: tcp-socket :27017 delay=10s timeout=2s period=3s #success=1 #failure=8
Environment Variables from:
internal-my-cluster-name-users Secret Optional: false
Environment:
SERVICE_NAME: my-cluster-name
NAMESPACE: psmdb
MONGODB_PORT: 27017
MONGODB_REPLSET: rs0
Mounts:
/data/db from mongod-data (rw)
/etc/mongodb-encryption from my-cluster-name-mongodb-encryption-key (ro)
/etc/mongodb-secrets from my-cluster-name-mongodb-keyfile (ro)
/etc/mongodb-ssl from ssl (ro)
/etc/mongodb-ssl-internal from ssl-internal (ro)
/etc/users-secret from users-secret-file (rw)
/opt/percona from bin (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-kh74v (ro)
Conditions:
Type Status
Initialized False
Ready False
ContainersReady False
PodScheduled True
Volumes:
mongod-data:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: mongod-data-my-cluster-name-rs0-0
ReadOnly: false
my-cluster-name-mongodb-keyfile:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-mongodb-keyfile
Optional: false
bin:
Type: EmptyDir (a temporary directory that shares a pod’s lifetime)
Medium:
SizeLimit:
my-cluster-name-mongodb-encryption-key:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-mongodb-encryption-key
Optional: false
ssl:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-ssl
Optional: true
ssl-internal:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-ssl-internal
Optional: true
users-secret-file:
Type: Secret (a volume populated by a Secret)
SecretName: internal-my-cluster-name-users
Optional: false
kube-api-access-kh74v:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
QoS Class: Guaranteed
Node-Selectors:
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
Warning BackOff 14m (x716 over 169m) kubelet Back-off restarting failed container mongo-init in pod my-cluster-name-rs0-0_psmdb(bab2e95a-e1c1-4591-bb0b-67fb369b68d8)
Normal Pulling 4m17s (x38 over 169m) kubelet Pulling image “percona/percona-server-mongodb-operator:1.14.0”
PS C:\Users\mkapas> kubectl describe pod/my-cluster-name-mongos-0 -n psmdb
Name: my-cluster-name-mongos-0
Namespace: psmdb
Priority: 0
Service Account: default
Node: node3/178.0.3.103
Start Time: Fri, 28 Jul 2023 14:45:54 +0200
Labels: app.kubernetes.io/component=mongos
app.kubernetes.io/instance=my-cluster-name
app.kubernetes.io/managed-by=percona-server-mongodb-operator
app.kubernetes.io/name=percona-server-mongodb
app.kubernetes.io/part-of=percona-server-mongodb
controller-revision-hash=my-cluster-name-mongos-56d7865c99
statefulset.kubernetes.io/pod-name=my-cluster-name-mongos-0
Annotations: cni.projectcalico.org/containerID: 80d529ad482895cd5a12d8327bed8d278466bb05dd25a6308ade0e4574b7a16a
cni.projectcalico.org/podIP: 10.233.92.74/32
cni.projectcalico.org/podIPs: 10.233.92.74/32
Open Source Database Software Support & Services | Percona
Open Source Database Software Support & Services | Percona
Status: Pending
IP: 10.233.92.74
IPs:
IP: 10.233.92.74
Controlled By: StatefulSet/my-cluster-name-mongos
Init Containers:
mongo-init:
Container ID: containerd://22962b646e111dfdf24d9a860f075e8514e2a1cafb08fcb7c37405ef86051028
Image: percona/percona-server-mongodb-operator:1.14.0
Image ID: docker.io/percona/percona-server-mongodb-operator@sha256:b5db0eae838e338f43633163a43579f57468b05144bde1fa161825a132b29bd2
Port:
Host Port:
Command:
/init-entrypoint.sh
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 127
Started: Mon, 31 Jul 2023 12:29:01 +0200
Finished: Mon, 31 Jul 2023 12:29:01 +0200
Ready: False
Restart Count: 819
Limits:
cpu: 300m
memory: 500M
Requests:
cpu: 300m
memory: 500M
Environment:
Mounts:
/data/db from mongod-data (rw)
/opt/percona from bin (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-vghbt (ro)
Containers:
mongos:
Container ID:
Image: percona/percona-server-mongodb:4.4
Image ID:
Port: 27017/TCP
Host Port: 0/TCP
Command:
/opt/percona/ps-entry.sh
Args:
mongos
–bind_ip_all
–port=27017
–sslAllowInvalidCertificates
–configdb
cfg/my-cluster-name-cfg-0.my-cluster-name-cfg.psmdb.svc.cluster.local:27017
–relaxPermChecks
–clusterAuthMode=keyFile
–keyFile=/etc/mongodb-secrets/mongodb-key
State: Waiting
Reason: PodInitializing
Ready: False
Restart Count: 0
Limits:
cpu: 300m
memory: 500M
Requests:
cpu: 300m
memory: 500M
Liveness: exec [/opt/percona/mongodb-healthcheck k8s liveness --component mongos --ssl --sslInsecure --sslCAFile /etc/mongodb-ssl/ca.crt --sslPEMKeyFile /tmp/tls.pem --startupDelaySeconds 10] delay=60s timeout=10s period=3
0s #success=1 #failure=4
Readiness: exec [/opt/percona/mongodb-healthcheck k8s readiness --component mongos --ssl --sslInsecure --sslCAFile /etc/mongodb-ssl/ca.crt --sslPEMKeyFile /tmp/tls.pem] delay=10s timeout=1s period=1s #success=1 #failure=3
Environment Variables from:
my-cluster-name-secrets Secret Optional: false
internal-my-cluster-name-users Secret Optional: false
Environment:
MONGODB_PORT: 27017
Mounts:
/data/db from mongod-data (rw)
/etc/mongodb-secrets from my-cluster-name-mongodb-keyfile (ro)
/etc/mongodb-ssl from ssl (ro)
/etc/mongodb-ssl-internal from ssl-internal (ro)
/etc/users-secret from users-secret-file (ro)
/opt/percona from bin (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-vghbt (ro)
Conditions:
Type Status
Initialized False
Ready False
ContainersReady False
PodScheduled True
Volumes:
my-cluster-name-mongodb-keyfile:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-mongodb-keyfile
Optional: false
ssl:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-ssl
Optional: true
ssl-internal:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-ssl-internal
Optional: true
mongod-data:
Type: EmptyDir (a temporary directory that shares a pod’s lifetime)
Medium:
SizeLimit:
users-secret-file:
Type: Secret (a volume populated by a Secret)
SecretName: internal-my-cluster-name-users
Optional: false
bin:
Type: EmptyDir (a temporary directory that shares a pod’s lifetime)
Medium:
SizeLimit:
kube-api-access-vghbt:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
QoS Class: Guaranteed
Node-Selectors:
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
Warning BackOff 2m24s (x19170 over 2d21h) kubelet Back-off restarting failed container mongo-init in pod my-cluster-name-mongos-0_psmdb(1453b7e3-73e4-4770-a94a-98e7d53b3c8d)
PS C:\Users\mkapas> kubectl describe pod/my-cluster-name-cfg-0 -n psmdb
Name: my-cluster-name-cfg-0
Namespace: psmdb
Priority: 0
Service Account: default
Node: node3/178.0.3.103
Start Time: Fri, 28 Jul 2023 14:45:44 +0200
Labels: app.kubernetes.io/component=cfg
app.kubernetes.io/instance=my-cluster-name
app.kubernetes.io/managed-by=percona-server-mongodb-operator
app.kubernetes.io/name=percona-server-mongodb
app.kubernetes.io/part-of=percona-server-mongodb
app.kubernetes.io/replset=cfg
controller-revision-hash=my-cluster-name-cfg-65c78c4446
statefulset.kubernetes.io/pod-name=my-cluster-name-cfg-0
Annotations: cni.projectcalico.org/containerID: 923767083f612cfb3be715a8ca42f9fc1cdcff3801f850a9955cef18934194db
cni.projectcalico.org/podIP: 10.233.92.75/32
cni.projectcalico.org/podIPs: 10.233.92.75/32
Open Source Database Software Support & Services | Percona
Open Source Database Software Support & Services | Percona
Status: Pending
IP: 10.233.92.75
IPs:
IP: 10.233.92.75
Controlled By: StatefulSet/my-cluster-name-cfg
Init Containers:
mongo-init:
Container ID: containerd://8c9214ab5462a3731c5d3151f741912ec29586cd6e2b0535671e79b104f8d6eb
Image: percona/percona-server-mongodb-operator:1.14.0
Image ID: docker.io/percona/percona-server-mongodb-operator@sha256:b5db0eae838e338f43633163a43579f57468b05144bde1fa161825a132b29bd2
Port:
Host Port:
Command:
/init-entrypoint.sh
State: Waiting
Reason: CrashLoopBackOff
Last State: Terminated
Reason: Error
Exit Code: 127
Started: Mon, 31 Jul 2023 12:30:58 +0200
Finished: Mon, 31 Jul 2023 12:30:58 +0200
Ready: False
Restart Count: 820
Limits:
cpu: 300m
memory: 500M
Requests:
cpu: 300m
memory: 500M
Environment:
Mounts:
/data/db from mongod-data (rw)
/opt/percona from bin (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-gl892 (ro)
Containers:
mongod:
Container ID:
Image: percona/percona-server-mongodb:4.4
Image ID:
Port: 27017/TCP
Host Port: 0/TCP
Command:
/opt/percona/ps-entry.sh
Args:
–bind_ip_all
–auth
–dbpath=/data/db
–port=27017
–replSet=cfg
–storageEngine=wiredTiger
–relaxPermChecks
–sslAllowInvalidCertificates
–clusterAuthMode=keyFile
–keyFile=/etc/mongodb-secrets/mongodb-key
–configsvr
–enableEncryption
–encryptionKeyFile=/etc/mongodb-encryption/encryption-key
–wiredTigerCacheSizeGB=0.25
–wiredTigerIndexPrefixCompression=true
State: Waiting
Reason: PodInitializing
Ready: False
Restart Count: 0
Limits:
cpu: 300m
memory: 500M
Requests:
cpu: 300m
memory: 500M
Liveness: exec [/opt/percona/mongodb-healthcheck k8s liveness --ssl --sslInsecure --sslCAFile /etc/mongodb-ssl/ca.crt --sslPEMKeyFile /tmp/tls.pem --startupDelaySeconds 7200] delay=60s timeout=10s period=30s #success=1 #fa
ilure=4
Readiness: tcp-socket :27017 delay=10s timeout=2s period=3s #success=1 #failure=3
Environment Variables from:
internal-my-cluster-name-users Secret Optional: false
Environment:
SERVICE_NAME: my-cluster-name
NAMESPACE: psmdb
MONGODB_PORT: 27017
MONGODB_REPLSET: cfg
Mounts:
/data/db from mongod-data (rw)
/etc/mongodb-encryption from my-cluster-name-mongodb-encryption-key (ro)
/etc/mongodb-secrets from my-cluster-name-mongodb-keyfile (ro)
/etc/mongodb-ssl from ssl (ro)
/etc/mongodb-ssl-internal from ssl-internal (ro)
/etc/users-secret from users-secret-file (rw)
/opt/percona from bin (rw)
/var/run/secrets/kubernetes.io/serviceaccount from kube-api-access-gl892 (ro)
Conditions:
Type Status
Initialized False
Ready False
ContainersReady False
PodScheduled True
Volumes:
mongod-data:
Type: PersistentVolumeClaim (a reference to a PersistentVolumeClaim in the same namespace)
ClaimName: mongod-data-my-cluster-name-cfg-0
ReadOnly: false
my-cluster-name-mongodb-keyfile:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-mongodb-keyfile
Optional: false
bin:
Type: EmptyDir (a temporary directory that shares a pod’s lifetime)
Medium:
SizeLimit:
my-cluster-name-mongodb-encryption-key:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-mongodb-encryption-key
Optional: false
ssl:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-ssl
Optional: true
ssl-internal:
Type: Secret (a volume populated by a Secret)
SecretName: my-cluster-name-ssl-internal
Optional: true
users-secret-file:
Type: Secret (a volume populated by a Secret)
SecretName: internal-my-cluster-name-users
Optional: false
kube-api-access-gl892:
Type: Projected (a volume that contains injected data from multiple sources)
TokenExpirationSeconds: 3607
ConfigMapName: kube-root-ca.crt
ConfigMapOptional:
DownwardAPI: true
QoS Class: Guaranteed
Node-Selectors:
Tolerations: node.kubernetes.io/not-ready:NoExecute op=Exists for 300s
node.kubernetes.io/unreachable:NoExecute op=Exists for 300s
Events:
Type Reason Age From Message
Warning BackOff 2m22s (x19223 over 2d21h) kubelet Back-off restarting failed container mongo-init in pod my-cluster-name-cfg-0_psmdb(fe7ebf01-93a3-4c61-a543-6cca33a1432d)
curruntly I am using Longhorn Storage class, here the describe for SC:
kubectl describe sc
Name: longhorn
IsDefaultClass: Yes
Annotations: longhorn.io/last-applied-configmap=kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: longhorn
annotations:
storageclass.kubernetes.io/is-default-class: “true”
provisioner: driver.longhorn.io
allowVolumeExpansion: true
reclaimPolicy: “Delete”
volumeBindingMode: Immediate
parameters:
numberOfReplicas: “3”
staleReplicaTimeout: “30”
fromBackup: “”
fsType: “ext4”
dataLocality: “disabled”
,storageclass.kubernetes.io/is-default-class=true
Provisioner: driver.longhorn.io
Parameters: dataLocality=disabled,fromBackup=,fsType=ext4,numberOfReplicas=3,staleReplicaTimeout=30
AllowVolumeExpansion: True
MountOptions:
ReclaimPolicy: Delete
VolumeBindingMode: Immediate
Events:
in cr.yaml i set the storageclassname to longhorn.
In Operator i can see only one error message:
2023-07-31T10:40:18.156Z ERROR failed to reconcile cluster {“controller”: “psmdb-controller”, “object”: {“name”:“my-cluster-name”,“namespace”:“psmdb”}, “namespace”: “psmdb”, “name”: “my-cluster-name”, “reconcileID”: “3332bb6b-4515-4200-bef1-edb24ea329c4”, “replset”: “cfg”, “error”: “handleReplsetInit: no mongod containers in running state”, “errorVerbose”: “no mongod containers in running state\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodb.init\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodb/mgo.go:432\nruntime.doInit\n\t/usr/local/go/src/runtime/proc.go:6329\nruntime.doInit\n\t/usr/local/go/src/runtime/proc.go:6306\nruntime.doInit\n\t/usr/local/go/src/runtime/proc.go:6306\nruntime.main\n\t/usr/local/go/src/runtime/proc.go:233\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1594\nhandleReplsetInit\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodb.(*ReconcilePerconaServerMongoDB).reconcileCluster\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodb/mgo.go:99\ngithub.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodb.(*ReconcilePerconaServerMongoDB).Reconcile\n\t/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodb/psmdb_controller.go:487\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:122\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:323\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:274\nsigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2\n\t/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:235\nruntime.goexit\n\t/usr/local/go/src/runtime/asm_amd64.s:1594”}
github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodb.(*ReconcilePerconaServerMongoDB).Reconcile
/go/src/github.com/percona/percona-server-mongodb-operator/pkg/controller/perconaservermongodb/psmdb_controller.go:489
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Reconcile
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:122
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).reconcileHandler
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:323
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).processNextWorkItem
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:274
sigs.k8s.io/controller-runtime/pkg/internal/controller.(*Controller).Start.func2.2
/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.14.4/pkg/internal/controller/controller.go:235
Please kindly let me know if anything else is needed from my side.
Best regards,
Mate