
Following URL points to the Lab Guide used throughout this course. Its an essential supporting document, which contains step by step instructions, just as you see in the demo videos. Once you go through the demo videos, you could practically perform the tasks using this guide.
https://schoolofdevops.github.io/kubernetes-labguide/
Note: You may notice discrepancy between instructions shown in the video lessons vs what you see in the Lab Guide. In such cases, always trust the lab guide as its been updated to support the newer versions of kubernetes, and also has many fixes. You may also find new labs available in the lab guide for which I am planning to create video lessons. Treat the Lab Guide as the ultimate source of truth !
Master container orchestration as a service with Kubernetes, covering clustering, scheduling, dynamic provisioning, horizontal scalability, load balancing, fault tolerance, and release strategies like rolling updates, canary, and blue-green deployments.
Discover how daemonsets, statefulsets, cron jobs, and jobs extend deployments by running per-node services, providing stable identities, and handling scheduled, one-off tasks.
Launch your first container by pulling an Alpine image from Docker Hub and running the uptime command, then monitor the process with Docker system events and Docker ps.
Learn container operations in Docker, including listing containers with docker ps, viewing logs with docker logs, executing with docker exec, copying with docker cp, inspecting, stopping, and removing containers.
Publish containers by mapping host ports to container ports with docker run and capital P, enabling external access to nginx and other apps.
learn how Portainer provides a web-based console to manage local or remote Docker environments, replacing the Docker CLI with a UI, including setup, containers, images, networks, volumes, and one-click deployments.
Set up a Kubernetes learning environment by choosing among three options—three-node Cube ADM cluster, a single-node mini cube or docker with Kubernetes, or Google Container Engine—and validate with a visualizer.
Minikube offers one of the easiest zero to dev experience to setup a single node kubernetes cluster. Its also the ideal way to create a local dev environment to test kubernetes code on.
This document explains how to setup and work with single node kubernetes cluster with minikube.
Learn to set up the Kubernetes visualizer (kube-ops view) from an open source repo, run dockerized components, and monitor pods, nodes, and control plane with kubectl and YAML.
Write a pod spec for the voting app, configuring a single pod with a python application, including api version core v1, kind, metadata, container image, ports, and protocol tcp.
Learn to manage pods with kubectl and dashboard, view logs, connect to multi-container pods, use port forward for local access, and troubleshoot image pull errors using get and describe commands.
Attach a volume to a Kubernetes pod using host path, create and mount a persistent data directory under var lib postgres, and verify data persistence across pod lifecycles.
Launch a multi-container pod with nginx and sync sharing the same empty directory volume. Deploy via a YAML file in the dashboard, watch both containers run, and use kubectl get pods and describe pods to see the shared ip, host name, and sidecar syncing.
Create and switch to a dedicated namespace, apply namespace configurations, and update kubectl contexts to view and deploy pods in isolation, enabling high availability through replication controllers.
Expose a Kubernetes service outside the cluster using node port and external IP; review cluster IP stability, endpoints, and load balancing, with an ingress controller as a future option.
Define a deployment spec to implement rolling update or recreate strategies, converting a replica set into a deployment with an update strategy, namespace, and a revision history limit.
Launch and manage a deployment by applying the deployment spec, observe replica sets and pod template hashes, and scale using rollout status and batch update strategies.
In this project , you would write definitions for deploying the vote application stack with all components/tiers.
Deploy a Postgres db service in kubernetes by applying deployment and cluster IP service, labeling pods with role=db and port 5432, enabling the worker to connect to redis and votes.
Just like how real world shipping containers revolutionised the way goods are packaged, handled and transported across the globe industry, Docker along with open container ecosystem is transforming the software delivery by brining in the standardisation. Docker offers a way to run isolated processes and also allows one to package an application along with its run time environment using primitives such as dockerfiles. However, when it comes to running docker in a production like environment, with container work loads spanning across more than one nodes, you need a COE ( Container Orchestration Engine). COEs offer clustering and convert your nodes into one super computer, make intelligent decisions as to where to schedule the containers, connect containers running on different nodes by setting up multi host network and offer many other interesting features such as fault tolerance, zero downtime deployments etc.
Kubernetes is the gold standard in the world of container orchestration. It was originally created by Google, based on their experience of building and managing containers at scale ( at Google Scale). However its now driven by Cloud Native Compute Foundation ( CNCF), an open body, which also offers the official certification i.e. "Kubernetes Certified Administrator". Kubernetes comes with mind boggling features, is very reliable, and extremely sophisticated container orchestration engine. It can let you convert your infrastructure into a Container as a Service (Platform), brining in some of the awe inspiring features such as Zero Down Time Deployments, Fault Tolerance, Auto Scaling, Cloud and Storage integrations, which were extremely difficult to implement. And it brings it to the masses with its truly open, lock in free eco system.
With Kubernetes' sophistication however, comes the complexity too. Even though I have been using Kubernetes for more than 2 years now, almost every month, I find something new about kubernetes, something really cool, be it cloud integrations, or the newly introduced RBAC, be it dynamic storage provisioning, or stateful sets, its a fascinating world once you start exploring it. However, you would definitely need a guide once you while you navigate the complex world of Kubernetes, and this course serves just that. its been created in a way that you start learning kubernetes fround grounds up, one small step at a time, feature by feature.
This course brings to you a distilled experience with my knowledge of building and managing infrastructures, experience of helping companies with their devops journey and more than 300 corporate trainings. This is a well researched program and I have tried many variants of applications, with different flows, took feedback, and iterated many times. Thats one of the reasons why it took us more than 4 months to even launch the course in its first form. We have also started incorporating some new and useful techniques including glassboard, mindmaps to explain the concepts better and make things easier. I and my team wants to make this program the best in the world, and are constantly working towards it.
Here is what this course would cover, one step at a time,
Our next version would include many additional topics including,
When you sign up for this course now, you are guaranteed to receive these updates, that our promise to you ! We wish you all the best while learning Kubernetes !!