Skip to content

Commit 188861c

Browse files
committed
add basic design doc for kubernetes service connection tracker
1 parent c124559 commit 188861c

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

docs/design/k8s-service-tracker.md

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
## Objective
2+
To make connection tracing easier for applications running on kubernetes. The wider goal is to make network tracing easier, but to reduce scope, need to start with something small and give immediate results, i.e. connection tracking.
3+
4+
## Goals:
5+
- provide an interface for admins to see failed connection attempts of applications deployed on kubernetes
6+
- provide an interface to track network outages for the application
7+
8+
## Non-goals
9+
- TODO
10+
11+
## Design
12+
13+
- take the input that recognises what service to track connections for.
14+
1. in the form of kubernetes service name
15+
2. in the form of node name and port on the node
16+
3. in the form of node selector and port on the node
17+
- for each pod serving traffic to the selected service, create a subresource:
18+
this is required to avoid racing when updating the same resource. This
19+
feels like a cleaner architecture.
20+
- update the subresource for each pod serving traffic with the following details:
21+
1. failure source IP and port
22+
2. closed connection counter.
23+
3. if failure source IP is from a pod in cluster then display the podname
24+
3. if any, open connections counter from this source
25+
4. if any failures observed, a list of:
26+
1. timestamp of first failure observed
27+
2. timestamp of last failure observed, blank if no successful connection from this source IP
28+
after the first failure observed.
29+
- pick the failures for each serving pod from the subresource and aggregated list in main resource.
30+
## Alternatives

0 commit comments

Comments
 (0)