Chapter 13. Securing cluster nodes and the network
This chapter covers
- Using the node’s default Linux namespaces in pods
- Running containers as different users
- Running privileged containers
- Adding or dropping a container’s kernel capabilities
- Defining security policies to limit what pods can do
- Securing the pod network
In the previous chapter, we talked about securing the API server. If an attacker gets access to the API server, they can run whatever they like by packaging their code into a container image and running it in a pod. But can they do any real damage? Aren’t containers isolated from other containers and from the node they’re running on?
Not necessarily. In this chapter, you’ll learn how to allow pods to access the resources of the node they’re running on. You’ll also learn how to configure the cluster so users aren’t able to do whatever they want with their pods. Then, in the last part of the chapter, you’ll also learn how to secure the network the pods use to communicate.
Containers in a pod usually run under separate Linux namespaces, which isolate their processes from processes running in other containers or in the node’s default namespaces.