Skip to main content
logoTetrate Istio SubscriptionVersion: Next

TIS0302 - No Workload Matches Gateway Selector in Namespace

No workload matches the Gateway selector in this namespace.

Recommendation: Ensure Gateway Selector Matches an Existing Workload

To ensure your Gateway functions correctly, verify that the selector matches a workload in the namespace, such as an ingress gateway deployment. Deploy missing workloads or adjust the selector to prevent configuration issues.

Examples​

  1. Gateway with Non-Matching Selector

    apiVersion: networking.istio.io/v1beta1
    kind: Gateway
    metadata:
    name: unmatched-gateway
    namespace: example-namespace
    spec:
    selector:
    istio: non-existent-ingressgateway
    servers:
    - port:
    number: 80
    name: http
    protocol: HTTP
    hosts:
    - "example.com"

    Explanation: The Gateway resource is configured with a selector istio: non-existent-ingressgateway, but no workload in the namespace matches this label. This means that no proxy is available to serve traffic for the gateway, rendering it ineffective.

Recommendation​

Deploy the missing workload or adjust the selector to target a correct location.

  1. Deploy the Missing Workload

    Deploy the appropriate workload, such as an Istio ingress gateway, with the correct labels.

    apiVersion: apps/v1
    kind: Deployment
    metadata:
    name: my-ingressgateway
    namespace: example-namespace
    labels:
    istio: non-existent-ingressgateway
    spec:
    replicas: 1
    selector:
    matchLabels:
    istio: non-existent-ingressgateway
    template:
    metadata:
    labels:
    istio: non-existent-ingressgateway
    spec:
    containers:
    - name: istio-proxy
    image: istio/proxyv2
  2. Adjust Gateway Selector to Match Existing Workload

    Update the Gateway selector to match an existing ingress gateway workload.

    apiVersion: networking.istio.io/v1beta1
    kind: Gateway
    metadata:
    name: corrected-gateway
    namespace: example-namespace
    spec:
    selector:
    istio: ingressgateway
    servers:
    - port:
    number: 80
    name: http
    protocol: HTTP
    hosts:
    - "example.com"