Chapter 12. Troubleshooting a service network
Typically, you can create a service network without referencing this troubleshooting guide. However, this guide provides some tips for situations when the service network does not perform as expected.
A typical troubleshooting workflow is to check all the sites and create debug tarballs.
12.1. Checking sites
Using the skupper command-line interface (CLI) provides a simple method to get started with troubleshooting Application Interconnect.
Procedure
Check the site status:
$ skupper status --namespace west Skupper is enabled for namespace "west" in interior mode. It is connected to 2 other sites. It has 1 exposed services.
The output shows:
- A site exists in the specified namespace.
- A link exists to two other sites.
- A service is exposed on the service network and is accessible from this namespace.
Check the link status:
$ skupper link status --namespace east Link link1 is active
A link exists from the specified site to another site, meaning a token from another site was applied to the specified site.
NoteRunning
skupper link statuson a connected site produces output only if a token was used to create a link.Check the service network:
$ skupper network status --namespace west Sites: ├─ [local] 05f8c38 - west │ URL: 10.110.15.54 │ mode: interior │ name: west │ namespace: west │ version: 1.0.2 │ ╰─ Services: │ ╰─ name: backend │ address: backend: 8080 │ protocol: tcp ╰─ [remote] 1537b82 - east URL: 10.97.26.100 name: east namespace: east sites linked to: 05f8c38-west version: 1.0.2 ╰─ Services: ╰─ name: backend address: backend: 8080 protocol: tcp ╰─ Targets: ├─ name: backend-77f8f45fc8-smckp ├─ name: backend-77f8f45fc8-gh6tp ╰─ name: backend-77f8f45fc8-m58tgThe output shows:
-
There are 2 sites on the service network,
eastandwest. - Details for each site, for example the namespace names.
-
The original services that are exposed (Targets), in this case the three backend services exposed using the
tcpprotocol. -
The services available on the service network, including the port number. For example,
backend:8080.
-
There are 2 sites on the service network,
12.2. Creating a skupper debug tarball
The debug tarball contains all the logs from the Application Interconnect components for a site and provides detailed information to help debug issues.
Create the debug tarball:
$ skupper debug dump my-site Skupper dump details written to compressed archive: `my-site.tar.gz`
You can expand the file using the following command:
$ tar -xvf kind-site.tar.gz k8s-versions.txt skupper-versions.txt skupper-router-deployment.yaml skupper-router-867f5ddcd8-plrcg-skstat-g.txt skupper-router-867f5ddcd8-plrcg-skstat-c.txt skupper-router-867f5ddcd8-plrcg-skstat-l.txt skupper-router-867f5ddcd8-plrcg-skstat-n.txt skupper-router-867f5ddcd8-plrcg-skstat-e.txt skupper-router-867f5ddcd8-plrcg-skstat-a.txt skupper-router-867f5ddcd8-plrcg-skstat-m.txt skupper-router-867f5ddcd8-plrcg-skstat-p.txt skupper-router-867f5ddcd8-plrcg-router-logs.txt skupper-router-867f5ddcd8-plrcg-config-sync-logs.txt skupper-service-controller-deployment.yaml skupper-service-controller-7485756984-gvrf6-events.txt skupper-service-controller-7485756984-gvrf6-service-controller-logs.txt skupper-site-configmap.yaml skupper-services-configmap.yaml skupper-internal-configmap.yaml skupper-sasl-config-configmap.yaml
These files can be used to provide support for Application Interconnect, however some items you can check:
- versions
-
See
*versions.txtfor the versions of various components. - ingress
-
See
skupper-site-configmap.yamlto determine theingresstype for the site. - linking and services
-
See the
skupper-service-controller-*-events.txtfile to view details of token usage and service exposure.
Revised on 2022-08-08 15:36:29 UTC