jens-skribble opened a new issue, #2656: URL: https://github.com/apache/apisix-ingress-controller/issues/2656
### Current Behavior Hello, I'm new to APISIX and don't know if this is a bug or a layer 8 problem. I followed [1] to try my first installation of APISIX in standalone api driven mode, in combination with apisix-ingress-controller:2.0.0-rc5 on OpenShift 4.19. OpenShift doesn't allow to install Gateway API custom resources. It comes pre-installed with its route resources from the standard channel. Experimental route resources like TCPRoute aren't installed and can't be manually added. Thus I wasn't able to install those from the helm chart. However, the ingress-controller was able to start on the cluster and is in a crash looping state. It's log is attached below. I read that it was possible to [de]activate the controller's gateway API functionality in earlier versions using the `--set ingress-controller.config.kubernetes.enableGatewayAPI=false` flag. Now it seems that it can't be deactivated [3] anymore. It would be great APISIX and the ingress controller would also work on OpenShift. If you need anything else, please do not hesitate to contact me. --- [1] https://github.com/apache/apisix-ingress-controller/blob/master/docs/en/latest/getting-started/get-apisix-ingress-controller.md#install-apisix-and-apisix-ingress-controller-standalone-api-driven-mode [2] https://github.com/apache/apisix-ingress-controller/blob/v1.8.0/docs/en/latest/deployments/openshift.md [3] https://github.com/apache/apisix-ingress-controller/blob/v2.0.0/docs/en/latest/reference/configuration-file.md ### Expected Behavior - The helm chart has a flag for OpenShift environments - The ingress controller works on environments where experimental gateway API resources aren't available. ### Error Logs ``` 2025-11-19T14:12:16.220Z INFO root/root.go:125 controller start configuration {"config": {"log_level":"debug","controller_name":"apisix.apache.org/apisix-ingress-controller","leader_election_id":"apisix-ingress-controller-leader","metrics_addr":":8080","server_addr":":9092","enable_server":false,"enable_http2":false,"probe_addr":":8081","secure_metrics":false,"leader_election":{"lease_duration":"30s","renew_deadline":"20s","retry_period":"2s"},"exec_adc_timeout":"15s","provider":{"type":"apisix-standalone","sync_period":"1m0s","init_sync_delay":"20m0s"},"webhook":{"enable":true,"tls_cert_file":"tls.crt","tls_key_file":"tls.key","tls_cert_dir":"/certs","port":9443}}} 2025-11-19T14:12:16.221Z INFO client client/client.go:62 ADC client initialized {"mode": "apisix-standalone"} 2025-11-19T14:12:16.221Z INFO setup manager/run.go:207 check ReferenceGrants is enabled 2025-11-19T14:12:16.316Z INFO setup manager/run.go:218 setting up controllers 2025-11-19T14:12:16.319Z ERROR setup manager/run.go:221 unable to set up controllers {"error": "no matches for kind \"TCPRoute\" in version \"gateway.networking.k8s.io/v1alpha2\""} Error: no matches for kind "TCPRoute" in version "gateway.networking.k8s.io/v1alpha2" Usage: apisix-ingress-controller [command] [flags] apisix-ingress-controller [command] Available Commands: completion Generate the autocompletion script for the specified shell help Help about any command version version for apisix-ingress-controller Flags: -c, --config-path string configuration file path for apisix-ingress-controller --controller-name string The name of the controller (default "apisix.apache.org/apisix-ingress-controller") --health-probe-bind-address string The address the probe endpoint binds to. (default ":8081") -h, --help help for apisix-ingress-controller --log-level string The log level for apisix-ingress-controller (default "info") --metrics-bind-address string The address the metrics endpoint binds to. Use :8443 for HTTPS or :8080 for HTTP, or leave as 0 to disable the metrics service. (default "0") -v, --version version for apisix-ingress-controller Use "apisix-ingress-controller [command] --help" for more information about a command. Error: no matches for kind "TCPRoute" in version "gateway.networking.k8s.io/v1alpha2" ``` ### Steps to Reproduce Install APISIX with the ingress-controller on OpenShift 4.9 using the Helm Chart. The used `values.yaml` for the helm chart: ``` # apisix helm chart (dependency) apisix: replicaCount: 2 resources: limits: cpu: 200m memory: 128Mi requests: cpu: 100m memory: 128Mi service: type: ClusterIP externalTrafficPolicy: null apisix: deployment: role: "traditional" role_traditional: config_provider: "yaml" admin: credentials: secretName: "apisix-admin-creds" secretAdminKey: "admin-key" secretViewerKey: "viewer-key" etcd: enabled: false serviceAccount: create: true name: apisix-gateway podSecurityContext: runAsUser: 636 fsGroup: 636 seccompProfile: type: RuntimeDefault securityContext: runAsUser: 636 allowPrivilegeEscalation: false runAsNonRoot: true capabilities: drop: - ALL # apisix-ingress-controller helm chart (transitive dependency) ingress-controller: enabled: true config: provider: type: "apisix-standalone" apisix: adminService: namespace: "ingress-apisix" gatewayProxy: createDefault: false provider: controlPlane: auth: adminKey: valueFrom: secretKeyRef: name: "apisix-admin-creds" key: "admin-key" webhook: failurePolicy: Ignore deployment: podSecurityContext: runAsUser: 2000 seccompProfile: type: RuntimeDefault resources: limits: cpu: 200m memory: 128Mi requests: cpu: 100m memory: 128Mi ``` ### Environment - Image: apache/apisix-ingress-controller:2.0.0-rc5 - APISIX Ingress controller version: apisix-ingress-controller version 2.0.0-rc5--go1.24.7 - Kubernetes/OpenShift cluster version: ``` Client Version: 4.19.0-202510142112.p2.g298429b.assembly.stream.el9-298429b Kustomize Version: v5.5.0 Server Version: 4.19.18 Kubernetes Version: v1.32.9 ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
