Kubernetes Architecture

Understanding the fundamental components of Kubernetes (Master, Node, Pods, Services, etc.) and their interactions.

Pod Lifecycle

Detailed knowledge of the pod lifecycle, including creation, scheduling, running, termination, and resource management.

Controllers

Understanding the role of controllers in Kubernetes, including Deployment, ReplicaSet, StatefulSet, and DaemonSet, and their purpose in managing workloads.

Services and Networking

Learning how services expose pods, enabling communication within and outside the cluster, including concepts like DNS and Load Balancing.

Storage and Volumes

Exploring the different ways to manage persistent storage in Kubernetes, including PersistentVolumes, PersistentVolumeClaims, and volume types like NFS, ISCSI, and local storage.

Resource Management

Understanding how Kubernetes manages resources, including CPU, memory, and storage, and how to configure resource limits and requests for containers.

Scheduling

Investigating how pods are scheduled to nodes based on resource constraints, node affinity/anti-affinity, and other factors.

Kubernetes API

Learning to interact with the Kubernetes API using kubectl or client libraries, understanding the API object structure and the CRUD operations.

Namespaces

Understanding the concept of namespaces for logical grouping of resources and how they provide isolation and security.

RBAC

Understanding Role-Based Access Control, how to define roles and bindings, and how to control access to Kubernetes resources.

Admission Control

Learning about admission controllers, which are used to validate and mutate API objects before they are committed to the cluster.

Admission Webhooks

Understanding how to implement custom admission control logic using webhooks, allowing for more flexible and powerful validation and mutation.

Pod Security Policies (PSP)

Understanding how PSPs are used to restrict the capabilities and resource access of pods, enhancing security.

Network Policies

Understanding how to define network policies to control traffic between pods and services within the cluster.

Horizontal Pod Autoscaling (HPA)

Understanding how to automatically scale pods based on CPU usage or other metrics.

Storage Classes

Learning how to define storage classes, which allow for consistent and flexible storage provisioning across multiple nodes.

Container Security

Exploring the security aspects of containers, including image scanning, vulnerability analysis, and runtime security.

Custom Resource Definitions (CRDs)

Understanding how to extend the Kubernetes API with custom resources and controllers to manage your own application-specific objects.

Helm

Learning how to use Helm to manage and deploy Kubernetes applications using charts.

Testing and Debugging

Understanding the testing framework, including unit, integration, and end-to-end tests, and the tools and techniques for debugging Kubernetes applications.

CI/CD

Understanding the integration of Kubernetes with CI/CD pipelines, including tools like Jenkins, GitLab CI, and Spinnaker, to automate deployments and upgrades.