The Node Image
NOTE: This may not completely cover the current implementation.
The “node” image is a Docker image for runningnested containers, systemd, and Kubernetes components.
This image is built on top of the “base” image.
Logic for building both can be found in pkg/build
,and they can be built with kind build base-image
and kind build node-image
respectively.
Design
Other than the requirement that this image inherits from the “base” image, whichprovides 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 areDocker 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 isconfigured to not fail on swap being enabled. (we must do the latter becauseswap is inherited from the host and we don't want to force users to disable swapbefore usingkind
)/kind/version
is a regular text file containing thegitVersion
of theinstalled Kubernetes build
These properties are used by the cluster tooling to booteach “node” container with kubeadm.