TLS termination with Ingress in Kubernetes - Time & Space Complexity
We want to understand how the time it takes to handle TLS termination with Ingress changes as more requests come in.
Specifically, how does the system handle more connections securely and efficiently?
Analyze the time complexity of the following Kubernetes Ingress TLS termination setup.
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: example-ingress
spec:
tls:
- hosts:
- example.com
secretName: tls-secret
rules:
- host: example.com
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: example-service
port:
number: 80
This code configures an Ingress resource to handle HTTPS traffic by terminating TLS using a secret, then forwarding requests to a backend service.
Identify the loops, recursion, array traversals that repeat.
- Primary operation: Processing each incoming HTTPS request through TLS termination and routing.
- How many times: Once per request, repeated for every client connection.
As the number of incoming requests grows, the Ingress controller must perform TLS termination and routing for each one.
| Input Size (n) | Approx. Operations |
|---|---|
| 10 | 10 TLS terminations and routing operations |
| 100 | 100 TLS terminations and routing operations |
| 1000 | 1000 TLS terminations and routing operations |
Pattern observation: The work grows directly with the number of requests, so more requests mean proportionally more processing.
Time Complexity: O(n)
This means the time to handle requests grows linearly with the number of incoming requests.
[X] Wrong: "TLS termination happens once and then all requests are instantly secure without extra work."
[OK] Correct: Each request requires its own TLS handshake and decryption, so the work repeats for every connection.
Understanding how TLS termination scales helps you explain real-world system behavior and resource needs clearly and confidently.
"What if TLS termination was offloaded to a dedicated proxy before Ingress? How would that affect the time complexity for the Ingress controller?"