Skip to content

help request: Using ApisixRoute with port name instead of number #12646

@sjanota

Description

@sjanota

Description

According to the documentation I should be able to pass port's name in servicePort in ApisixRoute CRD. But if I pass a name (ex. "http"). The controller complains:

apisix-ingress-controller-97db6d444-6dcsl manager 2025-10-01T09:03:07.620Z    DPANIC    controllers.ApisixRoute    controller/apisixroute_controller.go:382    non-string key argument passed to logging, ignoring all later arguments    {"invalid key": {"name":"my-service","namespace":"my-ns"}}                                                                                                                                                                            
apisix-ingress-controller-97db6d444-6dcsl manager 2025-10-01T09:03:07.620Z    ERROR    controllers.ApisixRoute    controller/apisixroute_controller.go:382    Service    {"error": "port not found in service"}

and do not update the routing.

I installed the chart with following values:

apisix:
  etcd:
    enabled: false
  apisix:
    deployment:
      role: traditional
      role_traditional:
        config_provider: yaml
  service:
    type: ClusterIP
    externalTrafficPolicy: null
  ingress-controller:
    enabled: true
    config:
      provider:
        type: apisix-standalone
        sync_period: 1m
        init_sync_delay: 10s
    gatewayProxy:
      createDefault: true
    adminService:
      namespace: apisix

Am I missing anything

Environment

I'm running:

  • apisix-ingress-controller:2.0.0-rc4
  • apisix:3.13.0-ubuntu

Chart version: 2.11.6
Kubernetes: 1.33

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    📋 Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions