Tools to create IPv6 K8s with VirtualBox and unique local addresses for workloads.
See Virtual Box for download and installation instructions.
-
Download vagrant and follow the installer's instructions.
-
Install the Virtualbox Guest Additions via the following command:
vagrant plugin install vagrant-vbguest
Note: you will receive the mount errors described in Vagrant No VirtualBox Guest Additions installation found.
-
Enable autocompletion:
vagrant autocomplete install --bash
-
Update the name of the bridged adaptor in the
Vagrantfile
to match the host. -
Copy
/<repo-location>/servers.yml.tmpl
to/<repo-location>/servers.yml
and modify as needed.- The first entry will be applied to the control-plane and the remainder to the worker nodes.
- If a single entry is specified only the control-plane will be created.
- Important: All entries must be internet routable.
-
Bring up the virtual machines:
vagrant up
Initialization is done for you.
- The host directory
/<repo-location>/work
is mounted at/vagrant_work
on each virtual machine. - When the control-plane is created it will generate:
/<repo-location>/work/join-config.yml.part
/<repo-location>/work/join-config.yml
/<repo-location>/admin.conf
/<repo-location>/work/join-config.yml
will be used by the worker nodes to join the Kubernetes cluster automatically.- Currently
/<repo-location>/admin.conf
exists in a location mounted to all VMs (see #4).
Follow the steps described in Validate IPv4/IPv6 dual-stack.
Tearing down the virtual machines is done with a single command:
vagrant destroy -f
After destroying the VMs Vagrant will automatically remove the following files during the housekeeping step:
/<repo-location>/work/join-config.yml.part
/<repo-location>/work/join-config.yml
/<repo-location>/admin.conf
See Vagrant: Destroy for additional information.