This study plan is based on milestones. So, check how much you can cover within the timeline. The more you cover the topics, the better candidate you are for the job roles which require good knowledge of Kubernetes and container orchestration security. Also, I assume you have already checked and are comfortable with Common Security Skills study plan.
Just to make sure that everyone understands what you need to learn to be good at Kubernetes Security. Kubernetes Security builds on Docker/container security and cloud security. You need to understand how Kubernetes works, how workloads are deployed and exposed, and what controls exist at cluster, namespace, and workload levels.
It is more towards:
- securing clusters and control plane access,
- defining secure defaults for workloads (namespaces, RBAC, network policies),
- integrating Kubernetes security checks into DevSecOps pipelines,
- and working with platform/SRE teams to keep clusters hardened.
Usually it will take you 6-10 weeks to be comfortable with Kubernetes Security fundamentals, assuming you already know basic Docker and some Kubernetes usage.
- Kubernetes Security is not just enabling a few network policies.
- Think more of multi-layer defense: cluster, namespace, workload, network, and supply chain.
- You should be comfortable with basic Kubernetes concepts (pods, deployments, services, ingress, configmaps, secrets).
- You should understand how containers and images are built and scanned (see Docker Security Study Plan).
- You should know how Kubernetes fits into DevSecOps and cloud-native security.
- Kubernetes Fundamentals for Security - 1-2 weeks
- Cluster and Control Plane Security - 1-2 weeks
- Workload and Identity Security - 2-3 weeks
- Network, Policies and Multi-tenancy - 1-2 weeks
- Supply Chain and Runtime Security - 1-2 weeks
- Books
- Videos
- Courses
- Certifications
- Interview Questions
Goal here is to be very comfortable with how Kubernetes works, specifically from a security point of view.
- Revisit basic Kubernetes concepts:
- Cluster components (api-server, controller-manager, scheduler, etcd, kubelet).
- Pods, deployments, replica sets.
- Services, ingress, configmaps, secrets.
- Understand basic deployment flows:
- How manifests define workloads (YAML).
- How services expose pods.
- How ingress or load balancers expose services externally.
- Map where security decisions are made:
- Who can talk to the API server (authentication and RBAC).
- Which nodes run which workloads.
- How traffic flows inside and outside the cluster.
Duration: 1-2 weeks
Before securing it, you must understand how it works.
- Architecture: Control Plane (API Server, etcd, Scheduler, Controller Manager) vs Worker Nodes (Kubelet, Kube-proxy, Container Runtime).
- Objects: Pods, Deployments, Services, ConfigMaps, Secrets, Namespaces.
- Networking: CNI basics, Pod-to-Pod communication, Service discovery.
- Practice: Set up a cluster using
kindorminikubeand deploy a simple app.
Duration: 1-2 weeks
Securing the infrastructure itself.
- CIS Benchmarks: Understand and apply CIS Kubernetes Benchmark.
- API Server Security:
- Disable anonymous access.
- Enable audit logging.
- Restrict access to etcd.
- RBAC (Role-Based Access Control):
- Roles vs ClusterRoles.
- Bindings.
- Principle of Least Privilege.
- Node Security:
- OS hardening.
- Kubelet security configuration.
Duration: 1-2 weeks
Securing what runs inside the cluster.
- Pod Security Standards (PSS): Privileged, Baseline, Restricted profiles.
- Security Context:
runAsUser,runAsGroup.readOnlyRootFilesystem.allowPrivilegeEscalation: false.
- Network Policies:
- Default deny all.
- Allow specific traffic (ingress/egress).
- Secrets Management:
- Kubernetes Secrets (encryption at rest).
- External Secret Stores (Vault, AWS Secrets Manager).
Duration: 1-2 weeks
Ensuring integrity and monitoring behavior.
- Admission Controllers:
- Validating and Mutating webhooks.
- Policy engines: OPA Gatekeeper or Kyverno.
- Supply Chain:
- Image signing (Cosign).
- Image scanning in CI/CD.
- Runtime Security:
- Detecting anomalies (Falco).
- Sandboxed containers (gVisor, Kata Containers). if needed.
Kubernetes networking is a big part of securing workloads.
- Basic network model:
- Pod-to-pod and pod-to-service communication.
- Ingress controllers and load balancers.
- Network Policies:
- Deny-by-default vs allow-by-default.
- Writing simple network policies to restrict traffic.
- Multi-tenancy considerations:
- Combining namespaces, network policies, and RBAC for isolation.
- Basic ideas of multi-tenant cluster vs dedicated clusters.
Here you connect Kubernetes Security with Docker Security and DevSecOps.
- Supply chain:
- Image registries and allowed registries.
- Image scanning before deployment.
- Admission controllers or policy engines (at a high level) to enforce constraints.
- Runtime security:
- Monitoring workloads for suspicious behavior.
- Basic idea of using runtime security tools to detect attacks.
- Cross-link to other plans:
- Docker Security Study Plan.
- DevSecOps Study Plan.
- Relevant cloud security study plans if running managed Kubernetes.
- Kubernetes fundamentals books – focus on the chapters about security.
- Dedicated Kubernetes security or cloud-native security books that cover RBAC, network policies, and admission control.
- Kubernetes security talks from KubeCon, CNCF events, and OWASP.
- Tutorials on securing RBAC, network policies, and pod security.
- Videos on managed Kubernetes security (EKS, AKS, GKE) from cloud providers.
- Kubernetes security-focused courses (often part of cloud-native security tracks).
- Hands-on labs for Kubernetes RBAC, network policies, and workload hardening.
- DevSecOps courses which include Kubernetes integration.
- Kubernetes-related certifications that cover security (CKA/CKS and similar) if they align with your goals.
- Cloud security or cloud-native certifications where Kubernetes is a major component.
You can reuse questions from Docker Security, DevSecOps, and cloud security but focus on Kubernetes specifics:
- How would you secure access to a Kubernetes cluster for multiple teams?
- How would you restrict which services/pods can talk to each other?
- What are the risks of running privileged containers and how do you prevent it?
- How would you ensure only trusted images are deployed in a cluster?