
Master the cks exam by practicing 16 clusters, kubectl context switching, ssh into master or worker nodes, and expect one question on falco, app armor, or trivy.
Learn how to use Trivy for image scanning to detect high and critical vulnerabilities in containers, with exam-focused workflows for certified Kubernetes security specialist exam across Linux, macOS, and Windows.
Demonstrates using Treeview to scan images inside pods for high and critical vulnerabilities with Trivy, creating a dedicated namespace and deleting risky pods.
Extract secrets from a Kubernetes secret and save them to a file using kubectl, showing jsonpath, template, and yq options, with base64 decoding for username and password.
Set up gVisor as an isolation layer between your app and host kernel, intercepting system calls to protect pods, then create and apply a runtime class to pods and deployments.
Explore CIS benchmarks for hardening a Kubernetes cluster, learn to audit with kube-bench, identify fail steps, and implement remediation and configuration refinements to secure the control plane.
Fix security vulnerabilities in Dockerfile and deployment.yaml by replacing latest image tags, running as a non-root user, removing hardcoded passwords, and enforcing read-only root filesystem and strict security contexts.
Learn how to enable Kubernetes auditing, configure audit policies and levels, and verify audit logs for secret and namespace changes through practical command line interface tests.
Falco intercepts system calls, logs events, and enables action. Learn to install Falco on Ubuntu, use dash help and list, and create rules to detect sensitive file access in pods.
Explore AppArmor, a kernel security module that prevents restricted system calls in containers by using profiles, loading them with AppArmor tools, and enforcing restrictions on a worker node.
Learn how Gatekeeper and Open Policy Agent enforce yaml-based policies in Kubernetes, using constraint templates and rego rules to validate labels, replica counts, and docker.io images.
Explore how pod security policies enforce cluster-wide rules for pods, including run as user and privileged settings, and how to apply them via cluster roles, service accounts, and namespace bindings.
Create a question one service account in question one namespace, grant backend role for pods, namespaces, and config maps, bind a role binding, attach pod, and ensure no secret access.
Shows how to reduce a pod service account's permissions by editing a role to allow get on pods and creating a stateful sets update role bound to same service account.
Configure the admission controller to point to the image scanner endpoint, enable implicit deny via image policy, and test by deploying a vulnerable pod that is denied.
Learn to apply Kubernetes network policies in a scenario based question by enforcing default deny ingress and enabling server ingress from the client pod on port 80 in demo namespace.
Implement a default deny ingress policy in the backend namespace and a second policy to allow frontend and administration-labeled pods to reach backend server pods for maintenance.
Verify platform binaries against sha512 checksums to ensure integrity of Kube API server, Kube controller manager, Kube proxy, and Kubelet, and delete corrupted binaries when checksums do not match.
Learn how to read Kubernetes secrets directly from etcd using the etcd client, exploring secrets in the default namespace and a separate namespace, with setup steps.
Create and secure an ingress by deploying an nginx ingress controller, exposing a demo deployment, and configuring tls with a self-signed certificate to enable https traffic and test with curl.
Explore YAML's purpose as a human-friendly data serialization format, contrast it with XML and JSON, and learn core syntax such as strings, numbers, booleans, nulls, dates, tags, blocks, and anchors.
Learn Docker fundamentals, from containers and images to Docker components, file creation, Docker Compose, and registries. Compare Docker with virtual machines and review essential commands and runtimes used with Kubernetes.
Explore what Kubernetes is and why it matters, tracing its origin from virtual machines to container era. Learn how it delivers declarative configuration, automation, load balancing, and self-healing for containers.
Explore Kubernetes core architecture, including control plane components like Kube API server, etcd, kube scheduler, kube controller manager, cloud controller manager, node components, add-ons, and networking for high availability clusters.
Explore Kubernetes core architecture topics including storage, security, autoscaling, custom resources, and observability. Learn how the ecosystem and community drive Kubernetes adoption and development.
Master kubectl node commands to list nodes with status and version, view detailed node information, and manage labels, taints, drains, and restoration across a Kubernetes cluster.
Define and manage Kubernetes namespaces to isolate resources, enforce quotas, and support multi-tenant environments. Create, assign, and control resources across namespaces with best practices and RBAC.
Master kubectl namespace commands to create, describe, label, and filter namespaces; manage quotas and limit ranges, view YAML, and switch contexts.
Explore the pod concept and lifecycle, including pods with multiple containers. Dive into Kubernetes networking, controllers, health checks, resource management, security, autoscaling, and logging.
Master kubectl pod commands across namespaces to list, describe, view logs, exec into pods, port-forward, and manage labels and annotations for troubleshooting.
Discover how deployments manage application lifecycles in a Kubernetes cluster, covering replica sets, pods, YAML configurations, rolling updates, rollbacks, scaling, and monitoring.
Explore kubectl deployment commands, including creating deployments with labels, environment variables, and resource limits; updating images, scaling, rolling out, and exposing services across namespaces.
Master kubectl deployment commands to edit configurations, add probes, resources, volumes, config map; use secrets, init containers, and implement horizontal pod autoscaler, security contexts, service accounts, RBAC, and blue-green deployment.
Learn how daemonsets ensure one pod runs on every node or selected nodes, managing lifecycle as nodes join or leave, with use cases in Kubernetes storage, logs, and monitoring.
Learn to manage kubernetes daemonsets with kubectl, including listing, describing, creating, applying, deleting, editing, and rolling updates; inspect YAML, monitor rollout status, and label resources for node targeting.
StatefulSets provide stable pod identities, ordered deployment and scaling, and persistent storage through volume claim templates, using headless services for stateful databases and distributed systems.
Master kubectl statefulset commands to manage, scale, and rollback stateful sets; learn listing, describing, applying manifests, editing, retrieving yaml, setting images, monitoring rollout, and debugging with pods.
Kubernetes jobs are controllers that create pods to run finite tasks to completion and clean up after finish or suspension. They support single or parallel pods and cron job scheduling.
Learn to manage kubectl jobs and cron jobs with listing, describing, creating, and deleting across namespaces, generating YAML via dry runs, and configuring schedules, completions, and history limits.
Master Kubernetes services, including cluster ip, node port, load balancer, and external name, with service discovery, publishing, load balancing, health checks, and rolling deployments.
Master kubectl service commands to list, describe, and create cluster IP, nodeport, load balancer, and external name services, with labels, selectors, YAML/JSON outputs.
Config maps decouple configuration data from container images, enabling environment-specific configurations and easier updates in deployments, while best practices emphasize small, non-sensitive data and secure handling with secrets.
Learn to use kubectl to manage Kubernetes config maps, including creating, listing, describing, editing, patching, and exporting across namespaces and from files, directories, and env files.
Explore how Kubernetes secrets store credentials and keys, create them with kubectl or YAML, and expose them to pods via environment variables or volumes, with RBAC.
Master kubectl secrets commands to list, describe, create (from literal, file, directory, dot env), patch, and manage TLS and docker registry secrets across namespaces.
Explore how Kubernetes labels and selectors organize and manage resources, enabling services to target pods, deployments to roll out versions, and monitoring with precise filtering.
Master Kubernetes resource management by configuring requests and limits, QoS classes, quotas, and limit ranges to ensure fair, efficient pod allocation and stable performance.
Master kubectl requests and limits for pods, including milli cores and mebibytes, and understand quality of service classes; modify deployments with set resources.
Explore Kubernetes logging and monitoring, including container, node, and control plane logs; learn log collection methods such as sidecar and centralized collectors, and tools like Prometheus, Grafana, and EFK stack.
Learn practical cluster troubleshooting with kubectl, node debugging, and log analysis; identify node readiness, control plane health, and resilient disaster recovery strategies.
Discover how taints on nodes and tolerations on pods control workload placement in Kubernetes, with use cases for dedicated nodes and resource-aware scheduling.
Master taints, tolerations, and node affinity to control pod scheduling in Kubernetes. Configure taints with keys and operators, and apply via kubectl and YAML for dedicated nodes.
Explore Kubernetes storage concepts, including volumes, pv/pvc lifecycles, ephemeral and projected volumes, storage classes, dynamic provisioning, volume snapshots, cloning, and Windows storage options.
Learn how to manage Kubernetes storage with kubectl: explore storage classes, persistent volumes and claims, create and edit resources, set default classes, and debug provisioning with events and CSI logs.
Understand how the ingress object enables external HTTP/HTTPS access to Kubernetes services via routing rules, TLS termination, and name-based virtual hosting. Also learn about ingress controllers and default backends.
Configure init containers in the pod spec to run before app containers to completion, performing setup tasks and preconditions like network and database readiness.
Learn to define and use Kubernetes environment variables to decouple configuration from code, using env and env from at the container level, and inject values from config maps and secrets.
Explore how to define and override commands and arguments for Kubernetes containers, comparing Dockerfile entrypoint and CMD with Kubernetes command and args, and using environment variables and shell execution.
Explore Kubernetes service accounts, non-human identities for pods and system components, including namespace binding, portability, and cross-namespace access, plus credentials and authentication via JWTs and token review.
Configure security context in Kubernetes to enforce access control for pods and containers, including seccomp. Container level settings override pod level, including run as user and group, group change policy.
Explore static pods in Kubernetes, managed by the kubelet on a worker node and not observed by the API server, with mirror pods for visibility.
Restrict per-namespace resource usage in Kubernetes with resource quotas, enforcing CPU, memory, storage, and object limits. Use quota scopes and priority class controls to manage cross-namespace and pod affinity.
Explore how limit ranges govern CPU, memory, and storage per namespace in Kubernetes, enforcing min and max constraints, default requests and limits, and safe resource sharing.
Explore how RBAC in Kubernetes uses roles, cluster roles, and bindings to grant namespace or cluster-wide permissions with granular resources, subresources, and aggregation.
Explore kubectl rbac commands to manage roles, cluster roles, and bindings across namespaces, describe permissions, audit with can I, and validate access for users and service accounts.
Explore the fundamentals of Kubernetes, including architecture, pods, deployments, services, and etcd, and learn how declarative configurations drive self-healing, scaling, and efficient container orchestration.
Explore Kubernetes interview topics from service types (cluster IP, node port, load balancer, ingress) to deployments, stateful sets, daemon sets, probes, rolling updates, autoscaling, taints, and persistent volumes.
Cluster Setup
Use Network security policies to restrict cluster level access
Use CIS benchmark to review the security configuration of Kubernetes components (etcd, kubelet, kubedns, kubeapi)
Properly set up Ingress objects with security control
Protect node metadata and endpoints
Minimize use of, and access to, GUI elements
Verify platform binaries before deploying
Cluster Hardening
Restrict access to Kubernetes API
Use Role Based Access Controls to minimize exposure
Exercise caution in using service accounts e.g. disable defaults, minimize permissions on newly created ones
Update Kubernetes frequently
System Hardening
Minimize host OS footprint (reduce attack surface)
Minimize IAM roles
Minimize external access to the network
Appropriately use kernel hardening tools such as AppArmor, seccomp
Minimize Microservice Vulnerabilities
Setup appropriate OS level security domains
Manage Kubernetes secrets
Use container runtime sandboxes in multi-tenant environments (e.g. gvisor, kata containers)
Implement pod to pod encryption by use of mTLS
Supply Chain Security
Minimize base image footprint
Secure your supply chain: whitelist allowed registries, sign and validate images
Use static analysis of user workloads (e.g.Kubernetes resources, Docker files)
Scan images for known vulnerabilities
Monitoring, Logging and Runtime Security
Perform behavioral analytics of syscall process and file activities at the host and container level to detect malicious activities
Detect threats within physical infrastructure, apps, networks, data, users and workloads
Detect all phases of attack regardless where it occurs and how it spreads
Perform deep analytical investigation and identification of bad actors within environment
Ensure immutability of containers at runtime
Use Audit Logs to monitor access