Sources & further reading

References

The documentation, security guidance and background material behind each shared risk and hardening technique covered in the talk.

Shared risks

01

API Server

Every tenant talks to the same API server, and it hosts cluster-scoped machinery they all share.

02

Operators & DaemonSets

Highly privileged operators and node-wide DaemonSets are confused deputies waiting to be abused.

03

RBAC

RBAC complexities can make Multi-Tenancy a lot harder.

04

Networking

One flat LAN by default — and the API server turns tenant-to-tenant reachability into SSRF by design.

05

Nodes

Tenants share the node and its kernel — so a container breakout puts every workload on that node at risk.

06

Container Registries

One shared registry means one poisoned push can reach every tenant that pulls the image.

Hardening techniques

01

Admission Control

Decide what tenant workloads are allowed to look like, closing off the easy routes from a pod spec to the node.

02

RBAC & Operator Hygiene

Keep tenant rights narrow, watch for the dangerous verbs, and treat every operator as part of the tenant's effective privilege.

03

Network Isolation

Turn the flat cluster network into something tenants can't freely cross, and close the shared paths network policy can't see.

04

Node Pools

Place tenants on dedicated groups of nodes to remove the shared kernel and reduce the blast radius of a node compromise.

05

Sandboxed Runtimes

Stop relying on the shared Linux kernel as the tenant boundary, using gVisor or VM-based runtimes like Kata Containers.

06

Virtual Clusters

Give each tenant their own API server on a shared host cluster, removing most of the cluster-scoped sharing problems.

07

Separate Clusters

Sometimes the best way to share a cluster is not to. Separate clusters remove most of the shared surfaces at once.