- [Instructor] The most popular question that I get
for Kubernetes surrounds how to get started.
And whether one can use other platforms to learn Kubernetes.
I thought it would be great to clarify this
for new users up front.
In terms of getting your hands dirty with Kubernetes,
there are actually many ways to do this.
The top four technologies here are Minikube,
Docker for Desktop, Kubernetes in Docker,
also known as kind, and Kubernetes in a cloud provider.
Let's see the pros and cons of these.
First up, Minikube.
I based this course on Minikube for a few reasons.
Minikube was the first tool
to be able to run a local cluster on your machine
and has one of the largest special interest groups
supporting it within the Kubernetes community.
Last I checked, it has over 18,000 stars on GitHub
and close to 500 code contributors.
It supports the latest release of Kubernetes
in a very timely manner and you're not waiting too long
to try out the latest version of Kubernetes locally.
The user experience of Minikube
is targeted for brand new users to the ecosystem
and are trying to understand how everything works.
It abstracts away many complexities,
when all you're wanting to do is to get started.
One of the most powerful features of Minikube
is the addon feature,
where Kubernetes tooling is bundled in
and supported with Minikube,
so you don't have to spend extra time learning
how to install it.
It's actually something we will use later on in this course
to explain the Kubernetes dashboard and the metric server.
The other really popular tool for running Kubernetes
is Docker Desktop.
The Docker Desktop environment
allows you to easily create a Kubernetes cluster
from the Docker user interface.
The experience for new users is great.
And I'd recommend Docker for Desktop as an alternative
if you're having trouble with Minikube.
The one disadvantage of Docker for Desktop
with respect to Kubernetes is that it tends to lag
on the latest Kubernetes version release
compared to Minikube.
Kind, also known as Kubernetes in Docker.
Kind is a popular tool in the Kubernetes ecosystem
to run local Kubernetes clusters
using Docker containers as nodes.
Initially, kind was created to test Kubernetes,
Kubernetes features, and used to test Kubernetes
in the continuous integration environment.
Chances are if you're going to be doing a lot of testing
or integration work with Kubernetes,
you'll want to consider kind
for your primary development environment.
It works great, but probably not suited for new beginners
who are trying to learn Kubernetes.
And finally, managed Kubernetes services.
Managed Kubernetes services are very popular
on cloud providers today.
They allow you to run clusters
without having to worry about
managing the actual Kubernetes control plane.
Manged offerings are available
on all major cloud providers today,
and if you're already working in the cloud,
it's something you could consider.
Quick word of caution, though,
if you're new to Kubernetes and new to the cloud,
I'd probably just stick with Minikube for this course.
It can take some time to understand
how to provision a cluster in a cloud environment,
and you might end up spending more time
getting cluster created,
rather than running a Hello World.
And speaking of which, you'll want to look at
your exercise files for the next few sections.
You can find these in the exercise file tab.
You'll want to unzip these files
to a specific folder locally and follow along
if you want to run the tutorials.
Also, I've published these on github
at github.com/karthequian/kubernetes
that will stay up to date
with the latest Kubernetes versions and changes.
Give me a star if you like it.