-
Notifications
You must be signed in to change notification settings - Fork 14.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New "Learning Environment" Page #49299
base: main
Are you sure you want to change the base?
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
@@ -1,35 +1,53 @@ | ||||||||||||||||||||||||||||||||||||||||
--- | ||||||||||||||||||||||||||||||||||||||||
title: Learning environment | ||||||||||||||||||||||||||||||||||||||||
weight: 20 | ||||||||||||||||||||||||||||||||||||||||
description: Tools to try out Kubernetes locally | ||||||||||||||||||||||||||||||||||||||||
no_list: true | ||||||||||||||||||||||||||||||||||||||||
--- | ||||||||||||||||||||||||||||||||||||||||
<!-- overview --> | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
<!-- | ||||||||||||||||||||||||||||||||||||||||
{{/* There is a Netlify redirect from this page to /docs/tasks/tools/ */}} | ||||||||||||||||||||||||||||||||||||||||
{{/* This page content only exists to provide a navigation stub */}} | ||||||||||||||||||||||||||||||||||||||||
{{/* and to protect in case that redirect is one day removed. */}} | ||||||||||||||||||||||||||||||||||||||||
This page outlines some tools that you can use to set up a local Kubernetes cluster to try out Kubernetes concepts and features. | ||||||||||||||||||||||||||||||||||||||||
Before diving into setup, it's highly recommended to familiarize yourself with core Kubernetes concepts. You can find these in the [Concepts](/docs/concepts) section. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
{{/* If you're localizing this page, you only need to copy the front matter */}} | ||||||||||||||||||||||||||||||||||||||||
{{/* and add a redirect into "/static/_redirects", for YOUR localization. */}} | ||||||||||||||||||||||||||||||||||||||||
--> | ||||||||||||||||||||||||||||||||||||||||
<!-- | ||||||||||||||||||||||||||||||||||||||||
## kind | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
[`kind`](https://kind.sigs.k8s.io/docs/) lets you run Kubernetes on | ||||||||||||||||||||||||||||||||||||||||
your local computer. This tool requires that you have | ||||||||||||||||||||||||||||||||||||||||
[Docker](https://docs.docker.com/get-docker/) installed and configured. | ||||||||||||||||||||||||||||||||||||||||
<!-- body --> | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
The kind [Quick Start](https://kind.sigs.k8s.io/docs/user/quick-start/) page | ||||||||||||||||||||||||||||||||||||||||
shows you what you need to do to get up and running with kind. | ||||||||||||||||||||||||||||||||||||||||
## How to communicate with a Kubernetes cluster? | ||||||||||||||||||||||||||||||||||||||||
When working with Kubernetes, you need a way to interact with and manage your cluster. This involves tasks such as deploying applications, inspecting resources, and debugging issues. The `kubectl` command-line tool serves as the primary interface for communicating with a configured Kubernetes cluster, allowing you to send commands and receive responses to and from the cluster's API server. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
## minikube | ||||||||||||||||||||||||||||||||||||||||
For more information including a complete list of kubectl operations, see the [`kubectl` reference documentation](/docs/reference/kubectl). | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
Like `kind`, [`minikube`](https://minikube.sigs.k8s.io/) is a tool that lets you run Kubernetes | ||||||||||||||||||||||||||||||||||||||||
locally. `minikube` runs a single-node Kubernetes cluster on your personal | ||||||||||||||||||||||||||||||||||||||||
computer (including Windows, macOS and Linux PCs) so that you can try out | ||||||||||||||||||||||||||||||||||||||||
Kubernetes, or for daily development work. | ||||||||||||||||||||||||||||||||||||||||
kubectl is installable on a variety of Linux platforms, macOS and Windows. Find your preferred operating system [here](/docs/tasks/tools/#kubectl). | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
You can follow the official | ||||||||||||||||||||||||||||||||||||||||
[Get Started!](https://minikube.sigs.k8s.io/docs/start/) guide if your focus is | ||||||||||||||||||||||||||||||||||||||||
on getting the tool installed. | ||||||||||||||||||||||||||||||||||||||||
--> | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
## Options for trying out Kubernetes locally | ||||||||||||||||||||||||||||||||||||||||
To experiment with Kubernetes locally, you need tools that allow you to simulate a Kubernetes cluster on your machine. These tools create lightweight clusters for testing, development, or learning purposes without requiring extensive infrastructure. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
### 1. kind | ||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. As a project, we recommend minikube over kind. kind was originally a tool for development rather than learning (but is still a viable option). You could also make a heading that combines them, listing them in alphabetical order; that is:
Suggested change
|
||||||||||||||||||||||||||||||||||||||||
[`kind`](https://kind.sigs.k8s.io/) lets you run Kubernetes on your local computer. This tool requires that you have either [Docker](https://www.docker.com/) or [Podman](https://podman.io/) installed. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
The kind [Quick Start](https://kind.sigs.k8s.io/docs/user/quick-start/) page shows you what you need to do to get up and running with kind. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
### 2. minikube | ||||||||||||||||||||||||||||||||||||||||
Like `kind`, [`minikube`](https://minikube.sigs.k8s.io/) is a tool that lets you run Kubernetes locally. `minikube` runs an all-in-one or a multi-node local Kubernetes cluster on your personal computer (including Windows, macOS and Linux PCs) so that you can try out Kubernetes, or for daily development work. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
You can follow the official [Get Started](https://minikube.sigs.k8s.io/docs/start/) guide to set it up. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
### 3. Other 3rd party tools | ||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
Avoid putting the number into the fragment identifier. |
||||||||||||||||||||||||||||||||||||||||
There are additional tools like [MicroK8s](https://microk8s.io/docs) and [k3d](https://k3d.io/stable/) for running Kubernetes clusters locally. | ||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This needs a third party content marker. How about:
Suggested change
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
### 4. Online Playground Environment | ||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. (nit)
Suggested change
|
||||||||||||||||||||||||||||||||||||||||
If you don’t want to install Kubernetes locally, you can use online environments to practice. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
- [Killer Coda](https://killercoda.com/): Interactive Kubernetes labs for various scenarios. | ||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||||||||
- [Play With Kubernetes](https://labs.play-with-k8s.com/): Browser-based Kubernetes playground to spin up clusters on demand. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
## What's next: Practice setting up a production-like cluster | ||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Try this:
Suggested change
Also see #38681 - we don't yet have a task page about setting up kubeconfig. Once we do, other pages can link to it. |
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
While the tools above are great for learning, setting up a production-like cluster provides deeper insights into how Kubernetes operates in real-world scenarios. | ||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
[Kubeadm]() is a tool designed to help you set up a secure and functional cluster with minimal complexity. | ||||||||||||||||||||||||||||||||||||||||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Suggested change
|
||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||
If you're interested in taking your learning even further, check out the [Production Environment](/docs/setup/production-environment/) page for advanced practices and considerations when preparing for real-world Kubernetes deployments. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.