Skip to content

Pre requisites for advanced development

We can build the majority of MVK with just docker and inftools-cn container but if we want to take things further, we can install some or all of the tooling ourselves.

This is an advanced use case but this gives you ultimate control over your environments.

A helper comes with infctl that we can use to run through a check list for us.

Install infctl if you have not done so yet with

Terminal window
curl -L https://codeberg.org/headshed/infctl-cli/raw/branch/main/cmd/install.sh | bash

Both this install script and infctl need to run in a bash shell.

Windows users need to refer to Note for windows users below.

Run pre-flight checks with:

Terminal window
infctl-preflight-checks -C
MVK Preflight Checks
CONFIGURATION MODE
Select a tool environment to configure:
> Docker - Recommended MVK Environment
Check for Docker installation
Full Development Environment
Check for all required development tools
Google Cloud Compute Environment
Check for Google Cloud development tools

An interactive session will start.

The first option, Docker is the minimum possible for MVK.

Press return and accept this choice with y

a summary will display something like the following if docker is found:

Terminal window
Summary
Check performed: Docker - Recommended MVK Environment
Settings saved: Yes
Results:
Tools checked: 1
Found: 1
Missing: 0
docker

Docker can be installed in a variety of ways but for most Windows and Mac users docker desktop can be an easy option

For Linux users, docker engine install is more often than not the better option.

Which path you take to install Docker, any of the above will work but if you are interesting in really getting to know Kubernetes, running on Linux is best as this is typically what Kubernetes is run on in production.

Outside of running inftools-cn container, Linux and Mac already have bash and often git installed as part of a default developer environment, however Windows out of the box may not, so for MVK, we can use Git Bash, so check you have this installed on Windows if not already.

Windows will need jq to be installed by downloading it or installing with winget install jqlang.jq.

Use Git Bash from here on to run infctl commands as they will require for there to be a bash shell to run.

This section is optional if you do not plan to use Vagrant and Virtualbox for which you will need a full developeer installation. It is still useful to install all the items below. You will get the most out of your experience with Kubernetes if you do.

Run infctl-preflight-checks again but this time choose Full Development Environment

Terminal window
infctl-preflight-checks -C
MVK Preflight Checks
CONFIGURATION MODE
Select a tool environment to configure:
Docker - Recommended MVK Environment
Check for Docker installation
> Full Development Environment
Check for all required development tools
Google Cloud Compute Environment
Check for Google Cloud development tools

If all tools are installed, we see a summary similar to the following

Terminal window
Summary
Check performed: Full Development Environment
Settings saved: Yes
Results:
Tools checked: 8
Found: 8
Missing: 0
pwgen
kubectl
k3d
helm
jq
git
docker
vagrant

Install any missing packages then re-run the above to confirm everything is ready.

pwgen, jq are typically available in package managers

To install pwgen and jq:

On macOS (using Homebrew):

Terminal window
brew install pwgen jq

On Linux (Debian/Ubuntu):

Terminal window
sudo apt-get update
sudo apt-get install pwgen jq

On Linux (Fedora):

Terminal window
sudo dnf install pwgen jq

To download kubectl, visit the official Kubernetes documentation: Install and Set Up kubectl. Follow the instructions for your operating system.

To install k3d go to k3d installation and follow their guide

To install helm got to helm install and follow their guide

To install vagrant, visit the official Vagrant downloads page and choose the installer for your operating system.

Note: Vagrant typically requires a compatible hypervisor to manage virtual machines. The most common option is VirtualBox, which works on Windows, macOS, and Linux. You can download VirtualBox from the official site.

  • On Windows, you may also use Hyper-V if available.
  • On Linux, KVM is a popular alternative.

For most users, installing VirtualBox alongside Vagrant is the simplest and most widely supported setup.

Example installation on macOS (using Homebrew):

Terminal window
brew install --cask vagrant virtualbox

Example installation on Ubuntu/Debian:

Terminal window
sudo apt-get update
sudo apt-get install vagrant virtualbox

After installation, verify both are available in your $PATH by running:

Terminal window
vagrant --version
VBoxManage --version