Skip to main content
logoTetrate Istio SubscriptionVersion: Next

TIS1001 - Specified Host Not Found in Service Registry

The specified host does not have a corresponding entry in the service registry.

Recommendation: Ensure Host Exists in Service Registry

To prevent routing issues, ensure the specified host has a corresponding entry in the service registry by creating a Service, VirtualService, or ServiceEntry as appropriate.

Examples

  1. VirtualService Referring to a Non-Existent Host

    apiVersion: networking.istio.io/v1beta1
    kind: VirtualService
    metadata:
    name: invalid-host-virtual-service
    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. Without an existing entry for this host, Istio cannot route traffic correctly, resulting in failed communication.

Recommendation

Ensure there is a Service, VirtualService, or ServiceEntry matching the host.

  1. Add a Matching Kubernetes Service

    If the host should represent a Kubernetes service, create the corresponding service definition.

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

    Explanation: Adding a Service for unknown-service ensures that there is a matching entry in the service registry, enabling Istio to correctly route traffic to the workload.

  2. Create a ServiceEntry for External Services

    If the host is meant to represent an external service, create a ServiceEntry to add it to the service registry.

    apiVersion: networking.istio.io/v1beta1
    kind: ServiceEntry
    metadata:
    name: external-service-entry
    namespace: example-namespace
    spec:
    hosts:
    - "external-service.com"
    location: MESH_EXTERNAL
    ports:
    - number: 80
    name: http
    protocol: HTTP

    Explanation: Creating a ServiceEntry allows Istio to understand how to route traffic to the external host, ensuring proper connectivity to services outside the mesh.