Evolution of application deployment over the past 20 years.
Configure your local and remote lab environments.
Covers the resource types that are included with Kubernetes.
•Pod
•Job
Using helm to manage Kubernetes resources
Example microservice application.
Kubernetes manifests to deploy the demo application.
Explore how custom resources can add functionality
Install additional software to enhance the deployment.
Improving the DevX when working with Kubernetes.
How to safely upgrade your clusters and nodes.
Implement CI/CD for your applications (with GitOps!)
The first concepts to understand with regard to kubernetes are:
Kubernetes is comprised of many smaller components:
etcd: Key-value store used for storing all cluster data. It serves as the source of truth for the cluster state and configuration.
kube-apiserver: The front end for the Kubernetes control plane.
kube-scheduler: Schedules pods onto the appropriate nodes based on resource availability and other constraints.
kube-controller-manager: Runs controller processes. Each controller is a separate process that manages routine tasks such as maintaining the desired state of resources, managing replication, handling node operations, etc...
cloud-controller-manager: Integrates with the underlying cloud provider (if running in one) to manage cloud-specific resources. It handles tasks such as managing load balancers, storage, and networking.
kubelet: An agent that runs on each worker node and ensures that containers are running in pods and manages the lifecycle of containers.
kube-proxy: This network proxy runs on each node and maintains network rules to allow communication to and from pods.