Skip to content

Commit d6038c8

Browse files
committed
kubernetes: add section comparing kubeadm and kind provisioners
Signed-off-by: Cesar Talledo <[email protected]>
1 parent 0d5196d commit d6038c8

File tree

1 file changed

+31
-3
lines changed

1 file changed

+31
-3
lines changed

content/manuals/desktop/features/kubernetes.md

Lines changed: 31 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,7 @@ Turning the Kubernetes server on or off in Docker Desktop does not affect your o
3434
1. Open the Docker Desktop Dashboard and navigate to **Settings**.
3535
2. Select the **Kubernetes** tab.
3636
3. Toggle on **Enable Kubernetes**.
37-
4. Choose your cluster provisioning method. You can choose either **Kubeadm** or **kind** if you are signed in and are using Docker Desktop version 4.38 or later.
38-
39-
If you select **kind** you can also choose the Kubernetes version and the number of nodes.
37+
4. Choose your [cluster provisioning method](#cluster-provisioning-method).
4038
5. Select **Apply & Restart** to save the settings. This sets up the images required to run the Kubernetes server as containers, and installs the `kubectl` command-line tool on your system at `/usr/local/bin/kubectl` (Mac) or `C:\Program Files\Docker\Docker\Resources\bin\kubectl.exe` (Windows).
4139

4240
> [!NOTE]
@@ -51,6 +49,36 @@ You can check which version of Kubernetes you're on with:
5149
$ kubectl version
5250
```
5351

52+
### Cluster Provisioning Method
53+
54+
Docker Desktop Kubernetes can be provisioned with either the `kubeadm` or `kind`
55+
provisioners.
56+
57+
`kubeadm` is the older provisioner. It supports a single-node cluster, you can't select the kubernetes
58+
version, it's slower to provision than `kind`, and it's not supported by [Enhanced Container Isolation](../../security/for-admins/hardened-desktop/enhanced-container-isolation/index.md)(ECI),
59+
meaning that if ECI is enabled the cluster works but it's not protected by ECI.
60+
61+
`kind` is the newer provisioner, and is available if you are signed in and are
62+
using Docker Desktop version 4.38 or later. It supports multi-node clusters (for
63+
a more realistic Kubernetes setup), you can choose the Kubernetes version, it's
64+
faster to provision than `kubeadm`, and it's supported by ECI (i.e., when ECI is
65+
enabled, the Kubernetes cluster runs in unprivileged Docker containers). Note
66+
however that `kind` requires that Docker Desktop be configured to use the
67+
[containerd image store](containerd.md) (the default image store in Docker
68+
Desktop 4.34 and later).
69+
70+
The table below summarizes this comparison.
71+
72+
| Feature | kubeadm | kind |
73+
| :------ | :-----: | :--: |
74+
| Availability | Docker Desktop 4.0+ | Docker Desktop 4.34+ (requires sign in) |
75+
| Multi-node cluster support | No | Yes |
76+
| Kubernetes version selector | No | Yes |
77+
| Speed to provision | ~1 min | ~30 seconds |
78+
| Protected by ECI | No | Yes |
79+
| Works with containerd image store | Yes | Yes |
80+
| Works with Docker image store | Yes | No |
81+
5482
### Additional settings
5583

5684
#### Kubernetes dashboard

0 commit comments

Comments
 (0)