Konvoy Image Builder
Konvoy Image Builder (KIB) is a complete solution for building Cluster API compliant images. The goal of Konvoy Image Builder is to produce a common operating surface to run Konvoy across heterogeneous infrastructure. KIB relies on:
Ansible to install software, configure, and sanitize systems for running Konvoy.
Packer is used to build images for cloud environments.
Goss is used to validate systems are capable of running Konvoy.
This section describes how to use KIB to create a Cluster API compliant machine images. Machine images contain configuration information and software to create a specific, pre-configured, operating environment. For example, you can create an image of your current computer system settings and software. The machine image can then be replicated and distributed, creating your computer system for other users. KIB uses variable overrides to specify base image and container images to use in your new machine image. The variable overrides files for Nvidia and FIPS can be ignored unless adding an overlay feature.
How KIB Works
You can use KIB to build machine images, but first you need to be aware of the default behaviors of KIB. Stated very simply, KIB installs kubeadm
and the other basic components you need, so that when the machine boots for the first time, it becomes a Kubernetes control plane or worker node, and then can form or join a cluster.
KIB does this by booting a computer using a stripped-down base image, like an AMI, and then runs a series of steps to install all of the components that DKP needs. When the installation completes, KIB takes a snapshot or backup of that machine image and saves it. This becomes the image or AMI, and so on, that you use when building the cluster.
Prerequisites
Before you begin, you must ensure your versions of KIB and DKP are compatible:
Download the Konvoy Image Builder bundle from the KIB Version column of the chart below for your version of DKP prefixed with
konvoy-image-bundle
for your Operating System.Check the Supported Infrastructure Operating Systems and the Supported Kubernetes Version for your Provider.
An x86_64-based Linux or MacOS machine
A Container engine installed:
For air-gapped only - a local registry
Additional Configurations to Know using KIB
A variety of flags can be used to pass variables:
Using Override files
You can use overrides files to customize some of the components installed on this machine image. The KIB base override files are located in this Github repository.
Customize image YAML
Begin creating an image, interrupt the process so that the manifest.jason gets built and you can open and edit keys in the YAML. Instructions are located inCustomize your Image YAML or Manifest File.
Using HTTP/S Proxies
In some networked environments, the machines used for building images can reach the Internet, but only through an HTTP/S proxy. For DKP to operate in these networks, you need a way to specify what proxies to use. Further explanation is found in Using HTTP/S Proxy with KIB Images
Compatible DKP to KIB Versions
Along with the KIB Bundle, we publish a file containing checksums for the bundle files. The recommendation for using these checksums is to verify the integrity of the downloads.
On the corresponding link page, download the package prefixed with
konvoy-image-bundle
for your OS.
DKP Version | KIB Version (Click for bundle download) |
---|---|
v2.8.2 | |
v2.8.1 | |
v2.8.0 | |
v2.7.1 | |
v2.7.0 | |
v2.6.2 | |
v2.6.1 | |
v2.6.0 | |
v2.5.2 | |
v2.5.1 | |
v2.5.0 |
Extract KIB Bundle
Extract the bundle and cd
into the extracted konvoy-image-bundle-$VERSION
folder. The bundled version of konvoy-image
contains an embedded docker
image that contains all the requirements for building.
The konvoy-image
binary and all supporting folders are also extracted and bind mount places the current working directory (${PWD}
) into the container to be used.
Set environment variables for AWS access. The following variables must be set using your credentials including required IAM:
CODEexport AWS_ACCESS_KEY_ID export AWS_SECRET_ACCESS_KEY export AWS_DEFAULT_REGION
Next Steps:
Either return to Basic Install or Custom Install instructions, or for more KIB specific provider information you can continue to the provider link below for additional information:
Return:
If using the Day 1 - Basic Installs by Infrastructure instructions, proceed (or return) to that section to install and setup DKP based on your infrastructure environment provider.
If using the Custom Installation and Additional Infrastructure Tools instructions, proceed (or return) to that section and select the infrastructure provider you are using.