All following providers allow a common workflow:
make cluster-up
to create the environmentmake cluster-down
to stop the environmentmake cluster-build
to buildmake cluster-deploy
to (re)deploy the code (no provider support needed)make cluster-sync
to build and (re)deploy the codemake functests
to run the functional tests against KubeVirtkubevirtci/cluster-up/kubectl.sh
to talk to the k8s installation
It is recommended to export the KUBEVIRT_PROVIDER
variable as part of your .bashrc
file.
Allows provisioning k8s cluster based on kubeadm. Supports an arbitrary amount of nodes.
Requires:
- A working go installation
- Nested virtualization enabled
- A running docker daemon
Usage:
export KUBEVIRT_PROVIDER=k8s-1.13.3 # choose this provider
export KUBEVIRT_NUM_NODES=3 # control-plane + two nodes
make cluster-up
Allows provisioning a single-control-plane k8s cluster based on latest upstream k8s code.
Requires:
- A working go installation
- A running docker daemon
Usage:
export KUBEVIRT_PROVIDER=local # choose this provider
make cluster-up
Uses an existing (external) Kubernetes cluster.
Requires:
- A working Kubernetes cluster with properly configured worker nodes.
- A running docker daemon
Usage:
export KUBEVIRT_PROVIDER=external # choose this provider
make cluster-up
First add your provider in the kubevirtci repository. After this provider is merged, update our copy of this repository with the following command:
make bump-kubevirtci