Node Image
NOTE: This may not completely cover the current implementation.
The “node” image is a Docker image for running nested containers, systemd, and Kubernetes components.
This image is built on top of the “base” image.
Logic for building the “node” image can be found in pkg/build
,
and it can be built with kind build node-image
respectively.
Design 🔗︎
Other than the requirements that this image inherits from the “base” image, which
provides most of the tools statically needed for a Kubernetes deployment
(eg systemd
), variants of this image have the following properties:
-
/kind/images/
contains various*.tar
files which are Docker image archives, these images will be loaded by the cluster tooling prior to runningkubeadm
-
kubeadm
,kubectl
,kubelet
are in the path -
A systemd service is enabled for
kubelet
, and is configured to not fail on swap being enabled. (we must do the latter because swap is inherited from the host and we don’t want to force users to disable swap before usingkind
) -
/kind/version
is a regular text file containing thegitVersion
of the installed Kubernetes build
These properties are used by the cluster tooling to boot each “node” container with kubeadm.