
Install and compare Minikube and Google Kubernetes Engine to gain hands-on experience with a robust, scalable Kubernetes setup, preparing you to use Kubernetes for multi-container applications.
Kubernetes enables per-container environment variables to separate config from images, using the config file's env for cluster-specific values like MySQL host and port, usable by programs or in commands.
Explore init container examples with one app container and two init containers, view pod status and logs, and learn that logs target a specific container with the -c flag.
Learn how annotations differ from labels by storing key-value, non-identifying metadata such as build versions and team contacts, and see how clusters use them.
Scale a deployment with the scale command to reduce replicas from 3 to 1, then edit the object in the default editor; updates apply to the cluster, not config file.
Explore the basic daemon set controller, compare it to deployments, and note that daemon sets lack a replicas field.
Discover how daemon sets in Kubernetes schedule pods across nodes and how to constrain them to specific nodes using advanced scheduling.
Explore how a Kubernetes service acts as a proxy for pods, forwarding traffic to backing pods, while providing abstraction, a stable ClusterIP, and layer 4 load balancing.
Learn how to explicitly set a service's clusterIP by adding the clusterIP field in the config, using a 10.96.0.0/12 range, and why auto-assignment avoids conflicts.
Discover how DNS as an optional cluster add-on enables deterministic service domain names and test cross-namespace access by curling the joke-generator from an indigo namespace.
Build on clusterIP concepts and learn how to expose applications beyond the cluster with externally-routable services in Kubernetes.
Expose a NodePort service externally by opening the same port on every node, so external clients reach the service with traffic routed like a ClusterIP service.
Conclude this chapter and thank learners for watching, then invite them to the next chapter on Kubectl commands.
Apply a single command to multiple Kubernetes components by listing them as arguments, reducing typing when deleting several resources—across different types, such as pods and deployments.
Master the kubectl exec command to run utilities like ifconfig or start an interactive shell inside a running pod’s container, using a double dash for options on the popcorn pod.
Master port-forward to test Kubernetes pods and services locally by forwarding a local port to the joke-generator pod, then to a service, validating debugging and testing workflows.
Explore how the execAction liveness probe in Kubernetes uses a script to create and delete a healthy file; three consecutive failures trigger a pod restart.
Configure liveness probes in Kubernetes by adjusting failureThreshold, successThreshold, and probe timeouts; defaults are three, one, and one second, with timeouts yielding an unknown outcome and no action.
What is Kubernetes?
When you run a server in production, how do you handle problems such as...
hardware failures
application crashes
spikes in user demand
updates and redeployments of your application
automatically managing any number of Docker containers
migrating to completely different data centers or cloud providers
Sure. You could handle these problems using a collection of utility programs and custom infrastructure code. But that's a lot of work.
On the other hand, you can package your application in Docker containers and run those containers in Kubernetes!
The combination of containers and Kubernetes frees you from creating lots of infrastructure to manage your applications running in production.
That's no small thing.
So what is Kubernetes?
Kubernetes is a container management system.
Kubernetes makes your containerized applications highly reliable.
It reduces the number of damage control incidents and late night emergency phone calls from work.
Why Learn Kubernetes?
Kubernetes helps you manage your application in production by providing...
automatic crash recovery
built in load balancing
horizontal scaling using a single command
upgrade your app while maintain 100% uptime
revert without any downtime
simple service discovery
automatic container scheduling
secret data management
Kubernetes has a pluggable (customizable) architecture.
It abstracts away the underlying hardware.
It is open source (no vendor lock-in).
It's very popular—and growing more so every year.
What is Nick's Teaching Style?
Every lesson follows a four-part philosophy. I'm going to teach you...
what you're about to learn
why it's important
how to code it up and use it
which corner cases and caveats that you need to be on the lookout for
The course contains lots and lots of examples. They are designed to be...
interesting and entertaining
concise and to the point
clear and without any unnecessary complications