Skip to content

document lifecycle of connectors and backend pod availability#297

Open
pwright wants to merge 2 commits into
skupperproject:mainfrom
pwright:connector-router-health
Open

document lifecycle of connectors and backend pod availability#297
pwright wants to merge 2 commits into
skupperproject:mainfrom
pwright:connector-router-health

Conversation

@pwright

@pwright pwright commented Jun 18, 2026

Copy link
Copy Markdown
Member

@pwright pwright requested a review from ajssmith June 18, 2026 15:03


<a id="connector-lifecycle-kubernetes"></a>
## Observing connector lifecycle on Kubernetes sites

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest placing this with the rest of the connector doc


On Kubernetes sites, a connector uses a pod selector to discover backend pods dynamically. The Skupper controller watches for pod changes and updates the router configuration accordingly.

Each matching pod gets its own `tcpConnector` entry in the router, named `connector/<name>@<pod-IP>`.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest not introducing the tcpConnector entry in the router as it is more of an implementation detail


Each matching pod gets its own `tcpConnector` entry in the router, named `connector/<name>@<pod-IP>`.

**Procedure**

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe explaining the meaning of the resource status and conditions would be helpful and the sequence of transitions that occur (e.g. target pod exists, a listener exists, etc.) Then client connection behaviors could be tied back to what status/condition is at a point in time.

kubectl logs deploy/skupper-controller -f
```

With debug logging enabled, you will see:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we document how to change controller logging levels somewhere else? I could not see where.



<a id="tcp-client-errors"></a>
## Understanding TCP client errors when backends fail

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggest detailing client behaviors against connector status/conditions as backend being not available or available covers removal or error condition as well.



<a id="router-failures-kubernetes"></a>
## Detecting router failures on Kubernetes sites

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Instead of "Detecting router failures" maybe change to "Observing router operation" (e.g. is it running, how many restarts, why it restarted, etc.)

Also, looking directly at the pod would be more direct than via site status.

Adding details for when there are frequent restarts could be to look at the termination reason, etc.

@pwright pwright force-pushed the connector-router-health branch from 9b44588 to db49b75 Compare June 26, 2026 09:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants