
Learn Kubernetes through practical exercises, covering containers and containerization, services, and the concept of desired state, stateless versus stateful deployments on a Google Cloud managed environment.
Explore containerization and orchestration, learn how containers and images standardize software across environments, compare them with virtual machines, and see how Kubernetes manages multi container deployments.
Explore the Kubernetes master and worker nodes, core components like API server, controller manager, and kube-proxy, and how pods and resources are managed.
Explore Kubernetes pods: a pod encapsulates one or more containers sharing a single IP belonging to the pod, plus shared storage and configurations, often with a private pod network.
Explore how Kubernetes services route external traffic to labeled pods through a proxy, using cluster IP, node port, or load balancing to expose endpoints.
Explore how deployments orchestrate front-end and back-end images in Kubernetes, using replicas, pods, and labels to scale apps and route traffic through services and load balancing.
Define Kubernetes deployments and services with labels and selectors, set replicas and container images, and perform rolling updates to maintain the desired state with zero downtime.
Compare stateless and stateful architectures in Kubernetes deployments, explain data persistence with persistent volumes and persistent volume claims, and why stateless designs rely on external storage for scalability.
Sign up for Google Cloud Platform with a Gmail account, activate a free trial with 300 USD credit, create your first project, and explore the GCP console.
Set up a Kubernetes cluster by selecting a project, configuring node size and memory, choosing region and zones, and connecting via Google Cloud Console and Cloud Shell using kubectl.
Deploy a stateless guestbook app with three deployments (frontend, backend, and read/slave pods) and expose the frontend via a load balancer. Use kubectl to observe state and perform rolling updates.
Walk through stateless Kubernetes YAML files for front-end deployment and load-balanced services, focusing on replicas, labels, selectors, and registry images.
Configure stateless Kubernetes deployments and services with matched labels, appropriate ports, replicas, and resource requests, including cluster IP versus load balancer exposure.
Create and populate deployment files in a cloud console by building a guestbook folder, adding a front-end deployment file, and editing via a vim-style editor using copy-paste.
Deploy three deployments (front end and two others) with kubectl apply -f, verify with kubectl get deployments and services, and align replicas and IP types with the desired state.
Explore Kubernetes deployments and pods, labeling front and back end components, using kubectl to describe deployments and view pods, with a hands-on look at the GCP console and load balancers.
Access the front-end via the service endpoint to submit data, observe pod recreation under the desired state, and learn why this application remains stateless with non-persistent data.
See load balancing in action within a Kubernetes setup, distributing HTTP requests evenly across front-end pods. Observe per-pod workload, and verify fair distribution through logs as more users join.
Redeploy the front-end with a node port, exposing the service beyond the load balancer. Create a Google Cloud firewall rule, obtain the external IP, and access the guestbook page.
Change the service to cluster ip to restrict access to internal traffic, then scale the deployment from 3 to 4 and to 5 replicas using file edits and kubectl apply.
Explore rolling updates in Kubernetes, updating a deployment image with minimal user disruption, checking rollout status, and quickly rolling back to a previous version when issues arise.
Delete deployments, services, and pods in the cluster while preserving the default service. Verify that the resources have been removed and that the cleanup completed properly.
Learn to deploy a simple stateful Kubernetes database application by defining a persistent volume claim in a YAML file, attach a service, and ensure pods automatically reach the desired state.
Open the yaml file, configure a MySQL deployment and service, and attach a 10 gigabyte persistent volume claim. Restrict external access with labels and emphasize local storage on the vm.
Set up a kubernetes engine cluster on google cloud platform, manage it to avoid charges, and deploy a stateful mysql service with persistent volumes using kubectl.
Deploy and connect to a MySQL database via a terminal. Create a database and a table, insert sample rows, and verify data persistence across deletions in a practical hands-on exercise.
Observe how a stateful application preserves data across pod deletions using a system volume. Verify persistence by querying databases after cluster cleanup.
Hi I’m Sam, a big data engineer, cloud engineer and machine learning/AI Enthusiast teaching you Kubernetes using GCP’s Kubernetes Engine. I will teach you the core components of Kubernetes with various kubernetes specific concepts. Course is up to date uses the latest kubernetes version and all exercises can be done for free and on any operating system. Course will include a quiz at the end of the theory section to test and consolidate your learning.
Two practicals focusing on the major architectural concepts within Kubernetes and containerisation will be presented to complement the theory learned. This course was designed to balance theory and practise to deepen your understanding and why we do things the way it’s done and not just show you how it’s done. I want you to understand the reason behind each decision made.
Course is split up into sections as below:
Containerisation and Orchestration - Explore the concept of containers and problems that kubernetes aims to solve.
Master and Nodes - Main architecture of Kubernetes, will dig a little deeper into components and commonly used architectures.
Pods - The building block of Kubernetes, will explain the main concept and commonly used example of pods.
Services - Various options for connecting pods to external traffic.
Deployments - Concept of replication set and launching of a kubernetes cluster.
Desired State, Defining Kube Objects - Explore the concept of desired state and how to actually define kubernetes working parts before deploying.
Stateless & Stateful - Main concepts comparing stateless architectures with stateful and why you would want to use one over another.
Stateless Cluster Practical - This is a practical where we will build a stateless application and deploy the cluster.
Stateful Cluster Practical - This is a practical where we will build a stateful application and deploy the cluster.