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 “node” image can be found in pkg/build
, and it can be built with kind build node-image
respectively.
Design
Other than the requirement 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 pathA 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.