IBM Support

Install or upgrade of API Connect 10.0.8.0 fails with edb-operator in CrashLoopBackOff

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 the kubectl 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"}]

Document Information

Modified date:
27 June 2024

UID

ibm17158979