Skip to main content
logoTetrate Istio SubscriptionVersion: Next

TIS0202 - Specified Host Not Found in Service Registry

The specified host does not have a corresponding entry in the service registry (service, workload, or service entries).

Recommendation: Ensure Hosts Are Valid Entries in the Service Registry

To ensure routing is effective, verify that hosts specified in your Istio configurations are valid and exist in the service registry. Correct any typos, use FQDNs where necessary, or deploy missing services to the mesh.

Examples

  1. VirtualService with Non-Existent Host

    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
    name: virtual-service-invalid-host
    namespace: example-namespace
    spec:
    hosts:
    - "unknown-service.example-namespace.svc.cluster.local"
    http:
    - route:
    - destination:
    host: "unknown-service.example-namespace.svc.cluster.local"

    Explanation: The VirtualService references a host unknown-service.example-namespace.svc.cluster.local that does not exist in the service registry, resulting in failed routing.

  2. DestinationRule with Invalid Host

    apiVersion: networking.istio.io/v1beta1
    kind: DestinationRule
    metadata:
    name: invalid-host-destination-rule
    namespace: example-namespace
    spec:
    host: "non-existent-service.example-namespace.svc.cluster.local"
    trafficPolicy:
    loadBalancer:
    simple: ROUND_ROBIN

    Explanation: The DestinationRule specifies a host non-existent-service.example-namespace.svc.cluster.local that is not found in the service registry, making the rule ineffective.

  3. ServiceEntry Refers to a Non-Existent Internal Host

    apiVersion: networking.istio.io/v1beta1
    kind: ServiceEntry
    metadata:
    name: internal-service-entry
    namespace: example-namespace
    spec:
    hosts:
    - "non-existent.internal-service"
    location: MESH_INTERNAL
    ports:
    - number: 80
    name: http
    protocol: HTTP

    Explanation: The ServiceEntry specifies an internal host non-existent.internal-service that does not have a corresponding entry in the service registry, making the configuration invalid.

Recommendation

Correct the host to point to a valid service in this namespace or use a fully qualified domain name (FQDN) for services in other namespaces, or deploy the missing service to the mesh.

  1. Correct the Hostname to a Valid Service

    Ensure that the host specified is correct and matches an existing service in the service registry.

    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
    name: valid-host-virtual-service
    namespace: example-namespace
    spec:
    hosts:
    - "existing-service.example-namespace.svc.cluster.local"
    http:
    - route:
    - destination:
    host: "existing-service.example-namespace.svc.cluster.local"
  2. Use an FQDN for Cross-Namespace Services

    If the target service is in another namespace, use a fully qualified domain name (FQDN).

    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
    name: cross-namespace-virtual-service
    namespace: example-namespace
    spec:
    hosts:
    - "my-service.other-namespace.svc.cluster.local"
    http:
    - route:
    - destination:
    host: "my-service.other-namespace.svc.cluster.local"
  3. Deploy the Missing Service

    If the specified host is intended to exist, deploy the corresponding service before applying the configuration.

    apiVersion: v1
    kind: Service
    metadata:
    name: unknown-service
    namespace: example-namespace
    spec:
    selector:
    app: unknown-service
    ports:
    - protocol: TCP
    port: 80