Skip to content

Istio Resource Watching Cannot Be Disabled #13516

@Evesy

Description

@Evesy

kgateway version

2.3.0

Kubernetes Version

1.33.5

Describe the bug

We're currently adopting kgateway in replacement of our current Ingress solution, in a cluster using Istio service mesh (sidecar mode).

We're not looking to integrate kgateway with the service mesh in terms of using it as a gateway proxy or anything like that, we're just using it for N/S traffic for now.

What we're finding is that kgateway is loading in all ServiceEntry (and other) Istio resources and creating Envoy clusters for them in the gateways, which results in a larger config than necessary, and excess DNS requests from the gateway pods always trying to resolve these DNS entries.

We have attempted to remove the RBAC for Istio resources but it appears kgateway refuses to start if the RBAC is not there. I found some lingering reference to a KGW_ENABLE_ISTIO_INTEGRATION env var in the code base that might have controlled this, but it's not used anywhere, similarly KGW_ENABLE_WAYPOINT defaults to false and doesn't disable this behaviour.

Is there a way to explicitly prevent kgateway from looking for Istio resources?

Expected Behavior

kgateway should only watch Istio resources if configured to

Steps to reproduce the bug

  1. Deploy kgateway in a cluster that has Istio CRD's installed
  2. Create a ServiceEntry resource
  3. Observe a created Gateway load the contents of the ServiceEntry as an Envoy cluster

Additional Environment Detail

No response

Additional Context

It appears #13200 is potentially attempting to solve this problem, but would be good to confirm

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions