From 45770cc5849f256167b6cd44fe20bf76907f14af Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=A9r=C3=B4me=20Petazzoni?= Date: Tue, 25 Mar 2025 17:35:01 -0500 Subject: [PATCH] =?UTF-8?q?=E2=9E=95=20Add=20monokube=20exercise?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- slides/exercises/monokube-details.md | 51 ++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 slides/exercises/monokube-details.md diff --git a/slides/exercises/monokube-details.md b/slides/exercises/monokube-details.md new file mode 100644 index 00000000..9d08047d --- /dev/null +++ b/slides/exercises/monokube-details.md @@ -0,0 +1,51 @@ +# Exercise — Monokube static pods + +- We want to run a very basic Kubernetes cluster by starting only: + + - kubelet + + - a container engine (e.g. Docker) + +- The other components (control plane and otherwise) should be started with: + + - static pods + + - "classic" manifests loaded with e.g. `kubectl apply` + +- This should be done with the "monokube" VM + + (which has Docker and kubelet 1.19 binaries available) + +--- + +## Images to use + +Here are some suggestions of images: + +- etcd → `quay.io/coreos/etcd:vX.Y.Z` + +- Kubernetes components → `registry.k8s.io/kube-XXX:vX.Y.Z` + + (where `XXX` = `apiserver`, `scheduler`, `controller-manager`) + +To know which versions to use, check the version of the binaries installed on the `monokube` VM, and use the same ones. + +See next slide for more hints! + +--- + +## Inventory + +We'll need to run: + +- kubelet (with the flag for static pod manifests) + +- Docker + +- static pods for control plane components + + (suggestion: use `hostNetwork`) + +- static pod or DaemonSet for `kube-proxy` + + (will require a privileged security context)