k3s/contrib/ansible/vagrant/README.md

2.2 KiB

Vagrant deployer for Kubernetes Ansible

This deployer sets up a vagrant cluster and installs kubernetes with flannel on it.

Before you start !

You will need a functioning vagrant provider. Currently supported are openstack, libvirt, and virtualbox.

USAGE

In general all that should be needed it to run

vagrant up

If you export an env variable such as

export NUM_MINIONS=4

The system will create that number of nodes. Default is 2.

Provider Specific Information

Vagrant tries to be intelligent and pick the first provider supported by your installation. If you want to specify a provider you can do so by running vagrant like so:

vagrant up --provider=openstack

OpenStack

Make sure to install the openstack provider for vagrant.

vagrant plugin install vagrant-openstack-provider --plugin-version ">= 0.6.1"

NOTE This is a more up-to-date provider than the similar vagrant-openstack-plugin.

Also note that current (required) versions of vagrant-openstack-provider are not compatible with ruby 2.2. https://github.com/ggiamarchi/vagrant-openstack-provider/pull/237 So make sure you get at least version 0.6.1.

To use the vagrant openstack provider you will need

  • Copy openstack_config.yml.example to openstack_config.yml
  • Edit openstack_config.yml to include your relevant details.

For vagrant (1.7.2) does not seem to ever want to pick openstack as the provider. So you will need to tell it to use openstack explicitly.

Libvirt

The libvirt vagrant provider is non-deterministic when launching VMs. This is a problem as we need ansible to only run after all of the VMs are running. To solve this when using libvirt one must do the following

vagrant up --no-provision
vagrant provision

VirtualBox

Nothing special with VirtualBox. Hopefully vagrant up just works.

Random Information

If you just want to update the binaries on your systems (either pkgManager or localBuild) you can do so using the ansible binary-update tag. To do so with vagrant provision you would need to run

ANSIBLE_TAGS="binary-update" vagrant provision

Analytics