apisix-ingress-controller icon indicating copy to clipboard operation
apisix-ingress-controller copied to clipboard

bug: can not forward traffic to endpointslice

Open cataglyphis opened this issue 8 months ago • 0 comments

Current Behavior

  • k8s 1.33 do not support Endpoints, user EndpointSlice instead
  • enable apisix ingress config watch_endpointslices: true
  • add custom route as below
apiVersion: v1
kind: Service
metadata:
  name: automq
  namespace: automq
spec:
  type: ClusterIP
  clusterIP: None
  ports:
    - name: http
      port: 8080
---
apiVersion: discovery.k8s.io/v1
kind: EndpointSlice
metadata:
  name: automq
  labels:
    kubernetes.io/service-name: automq
addressType: IPv4
ports:
  - name: http
    port: 8080
endpoints:
  - addresses:
      - 10.180.4.62
    conditions:
      ready: true
---
apiVersion: apisix.apache.org/v2
kind: ApisixRoute
metadata:
  name: automq
  namespace: automq
spec:
  http:
    - name: automq-http
      match:
        hosts:
          - automq-nl.xxx.com
        paths:
          - /*
      websocket: false
      backends:
        - serviceName: automq
          servicePort: 8080
      timeout:
        connect: 10s
        send: 10s
        read: 10s

Expected Behavior

No response

Error Logs

  • apisix ingress controller still looks for endpoints rather than endpointslice
Warning  ResourceSyncAborted  2m52s (x122 over 92m)  ApisixIngress  ApisixIngress synced failed, with error: endpoints: endpoints "automq" not found
025-04-24T16:43:43+08:00       error   apisix/apisix_route.go:327      failed to translate ApisixRoute v2      {"error": "endpoints: endpoints \"automq\" not found", "object": {"Object":{"metadata":{"name":"automq","namespace":"automq","uid":"02bafc94-9474-46ad-a987-73c586926340","resourceVersion":"45338254","generation":1,"creationTimestamp":"2025-04-24T07:07:03Z","annotations":{"kubectl.kubernetes.io/last-applied-configuration":"{\"apiVersion\":\"apisix.apache.org/v2\",\"kind\":\"ApisixRoute\",\"metadata\":{\"annotations\":{},\"name\":\"automq\",\"namespace\":\"automq\"},\"spec\":{\"http\":[{\"backends\":[{\"serviceName\":\"automq\",\"servicePort\":8080}],\"match\":{\"hosts\":[\"automq-nl.bambu-lab.com\"],\"paths\":[\"/*\"]},\"name\":\"automq-http\",\"timeout\":{\"connect\":\"10s\",\"read\":\"10s\",\"send\":\"10s\"},\"websocket\":false}]}}\n"},"managedFields":[{"manager":"apisix-ingress-controller","operation":"Update","apiVersion":"apisix.apache.org/v2","time":"2025-04-24T07:07:03Z","fieldsType":"FieldsV1","fieldsV1":{"f:status":{".":{},"f:conditions":{}}},"subresource":"status"},{"manager":"kubectl-client-side-apply","operation":"Update","apiVersion":"apisix.apache.org/v2","time":"2025-04-24T07:07:03Z","fieldsType":"FieldsV1","fieldsV1":{"f:metadata":{"f:annotations":{".":{},"f:kubectl.kubernetes.io/last-applied-configuration":{}}},"f:spec":{".":{},"f:http":{}}}}]},"spec":{"http":[{"name":"automq-http","timeout":{"connect":"10s","send":"10s","read":"10s"},"match":{"paths":["/*"],"hosts":["automq-nl.xxx.com"]},"backends":[{"serviceName":"automq","servicePort":8080,"weight":null}],"websocket":false,"authentication":{"enable":false,"type":"","keyAuth":{},"jwtAuth":{},"ldapAuth":{}}}]},"status":{"conditions":[{"type":"ResourcesAvailable","status":"False","observedGeneration":1,"lastTransitionTime":null,"reason":"ResourceSyncAborted","message":"endpoints: endpoints \"automq\" not found"}]}}}}

2025-04-24T16:43:43+08:00       warn    apisix/apisix_route.go:486      sync ApisixRoute failed, will retry     {"object": {"Type":4,"Object":{"Key":"automq/automq","OldObject":null,"GroupVersion":"apisix.apache.org/v2"},"OldObject":null,"Tombstone":null}, "error": "endpoints: endpoints \"automq\" not found"}

Steps to Reproduce

  • apisix:3.12
  • apisix ingress controller: 1.8.4

Environment

  • APISIX Ingress controller version (run apisix-ingress-controller version --long): 1.8.4
  • Kubernetes cluster version (run kubectl version)
  • OS version if running APISIX Ingress controller in a bare-metal environment (run uname -a)

cataglyphis avatar Apr 24 '25 08:04 cataglyphis