The KubeVirt
plugin can be used with HashiCorp Packer to create KubeVirt images.
Note: This plugin is under development and is not production ready.
Packer is a tool for creating identical machine images from a single source template.
To get started, see the Packer installation guide.
- Packer
- Kubernetes with KubeVirt installed
- HCL Templating – Use HashiCorp Configuration Language (HCL2) for defining infrastructure as code.
- ISO Installation – Build VM golden images from ISO using the
kubevirt-iso
builder. - ISO Media Files – Embed additional files into installation process (e.g.
ks.cfg
orunattend.xml
). - Boot Command – Automate the VM boot process using a set of commands (via a VNC connection).
- Integrated SSH/WinRM Access – Allows VM provisioning and customization via SSH or WinRM.
kubevirt-iso
- This builder starts from a ISO file and builds virtual machine image on a KubeVirt cluster.
Packer supports automatic installation of the Packer plugins.
To install this plugin, copy and paste this code into your Packer configuration:
packer {
required_plugins {
kubevirt = {
source = "github.com/kv-infra/kubevirt"
version = ">= 0.5.0"
}
}
}
And now run packer init
command. The plugin will be installed automatically.
Download the latest release from the Releases page and then install the plugin:
$ packer plugins install --path packer-plugin-kubevirt github.com/kv-infra/kubevirt
Clone the repository and build the plugin from the root directory:
$ go build -ldflags="-X github.com/kv-infra/packer-plugin-kubevirt/version.Version=0.5.0" -o packer-plugin-kubevirt
Then install the compiled plugin:
$ packer plugins install --path packer-plugin-kubevirt github.com/kv-infra/kubevirt
Refer to the usage guidance in the examples of this plugin.