Skip to content
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

Add page about Docker Desktop to documentation #3611

Merged
merged 3 commits into from
Feb 4, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 56 additions & 0 deletions docs/source/kubernetes/docker-desktop/step-zero-docker-desktop.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
(docker-desktop-k8s)=

# Kubernetes on Docker Desktop (for learning and development only)

```{important}
[Docker Desktop] is a paid product with a [freemium tier](https://en.wikipedia.org/wiki/Freemium) for individual developers.
```

[Docker Desktop] is bundled with a Kubernetes cluster on a single computer that requires activation in the [Docker Desktop]'s settings. [Docker Desktop] is suitable in order to learn about Kubernetes and to develop and test changes, but its not meant to be used for production purposes.

```{important}
The Zero to JupyterHub guide assumes you're using a managed Kubernetes service with one of the main cloud platforms and **[Docker Desktop] is not officially supported**. You may be able to get help on the [Jupyter community forum](https://discourse.jupyter.org/c/jupyterhub/10).
```

## Kubernetes cluster requirements

All the requirements are implemented in [Docker Desktop] >= 4.37.1 that includes Kubernetes >= 1.30.5:

- [Dynamic Volume Provisioning](https://kubernetes.io/docs/concepts/storage/dynamic-provisioning/) for persistent storage
- [LoadBalancer](https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer) or [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) for managing external access to JupyterHub

## Docker Desktop installation

Follow the installation steps in the offical [Docker Desktop]'s Manual:

- [Install Docker Desktop on Mac](https://docs.docker.com/desktop/setup/install/mac-install/)
- [Install Docker Desktop on Windows](https://docs.docker.com/desktop/setup/install/windows-install/)
- [Install Docker Desktop on Linux](https://docs.docker.com/desktop/setup/install/linux/)

If you are on Linux, you might prefer to use minikube following {ref}`minikube-k8s`.

## Kubernetes cluster creation

1. Click in `Settings`.
2. Click in `Kubernetes`.
3. Click in `Enable Kubernetes`.
4. Click in `Apply & restart`.

To test if your cluster is initialized, run:

```bash
kubectl config get-contexts
```

The response should list the cluster `docker-desktop`.

```bash
kubectl get node
```

The response should list one running node.

Congrats. Now that you have your Kubernetes cluster running, it's time to
begin {ref}`setup-helm`.

[Docker Desktop]: https://www.docker.com/products/docker-desktop/
2 changes: 1 addition & 1 deletion docs/source/kubernetes/minikube/step-zero-minikube.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
(minikube-k8s)
(minikube-k8s)=

# Kubernetes on minikube (for learning and development only)

Expand Down
1 change: 1 addition & 0 deletions docs/source/kubernetes/setup-kubernetes.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ Choose one option and proceed.
:titlesonly:
minikube/step-zero-minikube
docker-desktop/step-zero-docker-desktop
google/step-zero-gcp
microsoft/step-zero-azure
amazon/step-zero-aws
Expand Down