
Microservices architecture breaks a monolithic app into small, independently scalable units. Each unit runs in its own container, communicates via REST APIs, and scales with load balancing.
Learn how Kubernetes orchestrates containers at global scale, offering self-healing, rolling upgrades, rollback, high availability, and an open-source API that manages cluster resources.
Set up a Kubernetes cluster lab in Google Cloud with a master and two worker nodes; deploy pods and containers, and configure the Kaliko CMA plugin for networking.
Our goal is to create a 3 node Kubernetes Cluster. In this video, we'll create 3 Virtual Machines - one VM would function as a Kubernetes Master Node and the remaining two VM's would function as Kubernetes Worker Nodes.
We'll use the Google Cloud Platform to create the 3 Ubuntu Virtual Machines.
In this video, we'll put together a Kubernetes Cluster using the 3 Ubuntu Virtual Machines we created in the previous video. Our goal is to create a 3 node Kubernetes cluster( one master node and two worker nodes)
Discover deploying a hello world app with Kubernetes pods using a Docker image and a YAML pod spec. Understand how pods host containers, expose ports, and have IPs and storage.
Create a hello world app in a Kubernetes pod per the specifications, use describe to verify the pod, and observe the container listening on port 80 and related pod events.
Deploy a hello world application with a Kubernetes deployment, monitor pod status, confirm pods run in the cluster, and note ip addresses assigned to nodes.
Expose multiple hello world pods behind a single external ip using a kubernetes service and load balancer, routing traffic to the pods via labels and port in the service yaml.
When you build a 3 node cluster with one master and two worker nodes, the pods will be distributed between the two worker nodes.
You'll notice a problem when you try to refresh the browser or poll the URL multiple times, similar to what the script does.
This problem has something to do with the networking in the Kubernetes.
This is because I use the IP address of one of the worker nodes as the load-balancer external IP address. So the pods running in that worker node would respond, but the pods running in the other worker node couldn't be reached. Eventhough the IP addresses of both worker nodes are pingable from each other.
This seems to be a bug in the Kubernetes Calico CNI driver.
To workaround this problem, I drained and brought down the other worker node, so that all pods run in the worker node who's IP address has been assigned to the load-balancer service. This will enable the load balancer to talk to all pods.
This is just to clarify the issue and make you be aware of the issue. Hope you could work around it when you try it on your own.
Learn how dynamic business needs drive scale up and scale down of pods, illustrated by two demos: a hello world app from 2 to 15 pods and back to 3.
Learn to rebuild a docker image, publish it, and perform a rolling update in Kubernetes to deploy the new hello world version, then verify the change in the browser.
Explore how Kubernetes high availability maintains service during node maintenance by draining pods and redistributing workloads, with two demos on maintenance and bringing the node back to the cluster.
Drain node 2 to shift hello world pods to node 1, then re-enable node 2 and add three more pods to balance load automatically during a Kubernetes high availability demo.
Learn to delete deployments and services, and dismantle a Kubernetes cluster by resetting and deleting the master nodes.
Learn how to use the horizontal pod autoscaler with the metric server to automatically scale a hello world deployment based on cpu usage, with min 1 and max 10 replicas.
This course on Kubernetes for Beginners, was primarily designed with the beginners in mind. I also have published a free course on Docker Containers for Beginners in Udemy which is a pre-requisites for this course.
In addition to covering everything you need to known about Dockers Containers and Kubernetes, this course also covers the very basics on virtualization, Virtual Machines, Containers and cloud technologies, including Docker Containers.
This is a hands-on Kubernetes crash course with a lot of Labs, and Demos.
Here is a brief summary of what you'll learn in this course:
Virtual Machines,
Docker containers,
Difference between Docker and Kubernetes
What is Kubernetes
Kubernetes vs Docker Swarm
Why Google Open Sourced Kubernetes
What is the need for Kubernetes,
What is the problem that Kubernetes addresses
How end users benefit from Kubernetes,
Kubernetes Competitors
How to create a real multi-node Kubernetes Cluster in Google Cloud Platform
How to create a Minikube cluster on your laptop or VM.
How to create, run and manage Docker Containers as Pods in Kubernetes Cluster at cloud scale
How to create a Kubernetes Deployment
How to create a Kubernetes Load Balancer Service
Basics on Microservices Architecture
How to scale up and Scale down Pods in Kubernetes Cluster
How to perform DevOps workflow (rollout and rollback software updates to Pods) in a Kubernetes Cluster
How to drain a Kubernetes Node for maintenance using High Availability
How to add back the node to the cluster after the maintenance.
How to dismantle the Kubernetes Cluster.
This is a hands-on Kubernetes course with a lot of Labs, and Demos.
The course was created by a very senior technical architect and devops guru who has more than 16 years of experience in working for various silicon valley companies.
***Please Note***
If you are not completely satisfied with the course, you can request for a full refund from Udemy anytime within the first 30 days.