Skip to main content
logoTSB - Application Owner Troubleshooting GuideVersion: Latest

Gateway Configuration

What is our Goal?

A gateway is a proxy that is deployed at the edge of a cluster, meaning that it can receive traffic from outside the cluster. It forwards traffic to services within the cluster, and is generally configured using TSB Gateway resources.

TSB supports both in-Workspace and Shared gateway models. In-Workspace is most common, where the gateway is deployed in the same namespace (or Workspace) as the application services that it is proxying.

Our goal in this chapter is to locate the gateway and Gateway configuration used to expose your service from the local cluster. You can then verify that the settings appear to be correct.

Prerequisites:

  • I know that my service foo is deployed in namespace bar on cluster cluster-a

Steps:

  • Can I locate the gateway that is exposing my application?
  • Can I inspect the traffic that the gateway is managing?
  • Can I inspect the gateway configuration to verify that it appears correct?

Troubleshooting Steps

  1. Locate the Gateway that Exposes your application

    As in the previous step, log in to the TSB admin UI. Navigate to the Dashboard, and select CLUSTERS • NAMESPACES. This will list the resources you have permissions to view.

    Select the GATEWAYS tab item to view the gateways in your chosen namespaces:

    This table lists the Hostnames that are exposed on Gateways in this namespace. There may be multiple hostnames, for different services in the namespaces.

    Metrics not appearing?

    If no metrics appear, select the ↻ refresh icon to start pulling metrics to this page:

    You may need to allow several minutes for the metrics to propagate to the TSB UI, and for sufficient traffic to be observed in order to get meaningful data.

  2. Examine the Hostname Activity for your Application

    Click on the hostname for your application. The TSB UI will provide a report of the observed URLs, and data about the performance (latency, throughput, error rate) of each.

    Look for any anomalies that may explain the problem you are seeking to troubleshoot.

    In the following 'Observability' chapters, we'll investigate how to examine these metrics and troubleshoot issues.

  3. Check the Gateway Logs

    Click on the hostname for your application. The TSB UI will provide a report of the observed URLs, and data about the performance (latency, throughput, error rate) of each.

    Look for any anomalies that may explain the problem you are seeking to troubleshoot.

    In the following 'Observability' chapters, we'll investigate how to examine these metrics and troubleshoot issues.

  4. Check the Gateway configuration

    A gateway is configured to expose your application, and potentially other services hosted in the same workspaces (groups of namespaces).

    In the Hostname / Gateway table above, select the gateway that is handling your application traffic (hostname). In this example, it's bookinfo-appgw.

    You may not have permission to view the general gateway configuration in the Services pane. To view the gateway's configuration for your services, navigate to:

    • Workspaces pane → Select your Gateway Group → Select GATEWAY SETTINGS:

    You will see the intended Gateway settings:

    Review the configuration for the gateway, taking note of the following:

    • The workloadSelector identifies the gateway instance which should load this configuration. This should match the label of the gateway instance in your Workspace
    • The http.hostname is the root for the configuration for traffic with that host value. Within this, you'll find routing rules and associated configuration
      • The hostname may be an internal name used for routing within the mesh, and might differ from the external hostname published at the edge
    • Rules contain a match and a route:
      • The match can identify request parameters such as uri; if its missing, it's a 'catch-all' match that handled traffic not claimed by other match blocks
      • The route indicates the service that the matching traffic should be forwarded to, typically of the form namespace.service-FQDN-name

    Verify that the settings in the gateway configuration match what you might expect for your service.