CertGrid CertGrid
Hands-on Lab·Kubernetes and Cloud Native Security Associate

Control Plane Static Pod Manifests

Domain 2 is about the security of each cluster component, and the first thing to understand is where they come from. On a kubeadm cluster the entire control plane is four YAML files in one directory, and the trust that follows from that is the whole shape of the domain.

Cluster Component Security Guide 9 of 42 Beginner

kubeadm v1.36.3 built this cluster, so the manifest paths and flags are kubeadm's defaults. A managed cluster hides all of this - you cannot read the apiserver's flags on EKS or GKE - which is itself worth knowing.

The cka5001 cluster: one control plane and 3 schedulable workers, on Cilium.
Server NameIP AddressOSRolesCPURAMHDD
CKA5001192.168.0.41Ubuntu 26.04 LTSControl Plane Node (tainted NoSchedule)2 Core4 GB50 GB
CKA5001-NODE01192.168.0.42Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA5001-NODE02192.168.0.43Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA5001-NODE03192.168.0.44Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

This guide includes

Use this when you have to reason about control plane security at all. This matters because on a kubeadm cluster the entire control plane is four files on disk, owned by root at mode 600 - and the Pods you see through the API are mirrors that no controller manages.

Before you start

  1. Four files, mode 600, owned by root

  2. Owned by a Node, not a controller

Official sources