Troubleshooting
Problem
Install or upgrade of API Connect 10.0.8.0 fails with edb-operator in CrashLoopBackOff
Symptom
The pods listing will show edb-operator in CrashLoopBackOff
$ kubectl get pods -A
NAMESPACE NAME READY STATUS RESTARTS AGE
apic datapower-operator-88ffbdc-4jwrh 1/1 Running 0 2d15h
apic datapower-operator-conversion-webhook-68d6db4975-xwm6g 1/1 Running 0 2d15h
apic edb-operator-57b69c64d4-58gg5 0/1 CrashLoopBackOff 1141 (92s ago) 2d15h
apic ibm-apiconnect-647565b676-g2d7w 1/1 Running 0 2d15h
Diagnosing The Problem
The logs will show :
$ k logs pod/edb-operator-57b69c64d4-58gg5 -n apic
{"level":"info","ts":"2024-06-27T12:36:12Z","logger":"setup","msg":"Starting EDB Postgres for Kubernetes Operator","version":"1.22.3","build":{"Version":"1.22.3","Commit":"43c0af2cd","Date":"2024-04-25"},"licenseKeys":true}
{"level":"info","ts":"2024-06-27T12:36:12Z","logger":"setup","msg":"Listening for changes","watchNamespaces":["apic"]}
{"level":"info","ts":"2024-06-27T12:36:12Z","logger":"setup","msg":"Loading configuration from ConfigMap","namespace":"apic","name":"postgresql-operator-controller-manager-config"}
{"level":"info","ts":"2024-06-27T12:36:12Z","logger":"setup","msg":"Loading configuration from Secret","namespace":"apic","name":"postgresql-operator-controller-manager-config"}
{"level":"info","ts":"2024-06-27T12:36:12Z","logger":"setup","msg":"Operator configuration loaded","configuration":{"webhookCertDir":"","watchNamespace":"apic","defaultLicenseKey":"***REDACTED***","operatorNamespace":"apic","operatorPullSecretName":"postgresql-operator-pull-secret","operatorImageName":"docker-na.artifactory.swg-devops.com/apic-dev-ga-images-docker-virtual/ibm-apiconnect-management-edb-operator@sha256:6d5f030553bf9d6a240b8c8b8eba0850dadab772e749c696b8c6025b0780e4fb","postgresImageName":"quay.io/enterprisedb/postgresql:16.2","inheritedAnnotations":null,"inheritedLabels":null,"monitoringQueriesConfigmap":"postgresql-operator-default-monitoring","monitoringQueriesSecret":"","enableInstanceManagerInplaceUpdates":false,"enableAzurePVCUpdates":false,"enablePodDebugging":false,"certificateDuration":90,"expiringCheckThreshold":7,"createAnyService":false,"enableRedwoodByDefault":true,"externalBackupAddonConfiguration":"","enableClusterNamePoolerLabel":true}}
{"level":"info","ts":"2024-06-27T12:36:13Z","logger":"setup","msg":"Kubernetes system metadata","systemUID":"dfd07826-034c-4b93-bcab-ba84d1978add","haveSCC":false,"haveSeccompProfile":true,"haveVolumeSnapshot":false,"availableArchitectures":[{"GoArch":"amd64"},{"GoArch":"arm64"},{"GoArch":"ppc64le"},{"GoArch":"s390x"}]}
{"level":"info","ts":"2024-06-27T12:36:15Z","msg":"Registering addon","addon":"velero"}
{"level":"info","ts":"2024-06-27T12:36:15Z","msg":"Registering addon","addon":"external-backup-adapter"}
{"level":"info","ts":"2024-06-27T12:36:15Z","msg":"Registering addon","addon":"external-backup-adapter-cluster"}
{"level":"info","ts":"2024-06-27T12:36:15Z","msg":"Registering addon","addon":"kasten"}
{"level":"error","ts":"2024-06-27T12:36:16Z","logger":"setup","msg":"unable to create controller","controller":"Cluster","error":"failed to get restmapping: no matches for kind \"Pooler\" in group \"postgresql.k8s.enterprisedb.io\"","stacktrace":"github.com/EnterpriseDB/cloud-native-postgres/pkg/management/log.(*logger).Error\n\tpkg/management/log/log.go:125\ngithub.com/EnterpriseDB/cloud-native-postgres/internal/cmd/manager/controller.RunController\n\tinternal/cmd/manager/controller/controller.go:248\ngithub.com/EnterpriseDB/cloud-native-postgres/internal/cmd/manager/controller.NewCmd.func1\n\tinternal/cmd/manager/controller/cmd.go:40\ngithub.com/spf13/cobra.(*Command).execute\n\tpkg/mod/github.com/spf13/cobra@v1.8.0/command.go:983\ngithub.com/spf13/cobra.(*Command).ExecuteC\n\tpkg/mod/github.com/spf13/cobra@v1.8.0/command.go:1115\ngithub.com/spf13/cobra.(*Command).Execute\n\tpkg/mod/github.com/spf13/cobra@v1.8.0/command.go:1039\nmain.main\n\tcmd/manager/main.go:70\nruntime.main\n\t/opt/hostedtoolcache/go/1.22.2/x64/src/runtime/proc.go:271"}
Resolving The Problem
The issue is caused because the
--server-side
and --force-conflicts
parameters were missing in the kubectl apply
command during the installation or upgrade of CRDs.- The CRD installation and upgrade processes now require additional parameters
- In 10.0.8.0, CRD sizes increased. To ensure successful updates to a CRD, include the
--server-side
and--force-conflicts
parameters in thekubectl
apply command during installation or upgrade of CRDs.The following topics now use the updated command to install or upgrade CRDs:
Document Location
Worldwide
[{"Type":"MASTER","Line of Business":{"code":"LOB67","label":"IT Automation \u0026 App Modernization"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Product":{"code":"SSMNED","label":"IBM API Connect"},"ARM Category":[{"code":"a8m3p0000000rXbAAI","label":"API Connect-\u003EDeveloper Portal (MM)-\u003EUpgrade"},{"code":"a8m50000000CeBXAA0","label":"API Connect-\u003EManagement and Monitoring (MM)-\u003EInstallation"}],"ARM Case Number":"","Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"All Versions"}]
Was this topic helpful?
Document Information
Modified date:
27 June 2024
UID
ibm17158979