salt/doc/topics/virt/nic.rst

83 lines
2.3 KiB
ReStructuredText

.. _vm-nic-profiles:
================================
Virtual Machine Network Profiles
================================
Salt Virt allows for the network devices created for deployed virtual machines
to be finely configured. The configuration is a simple data structure which is
read from the ``config.option`` function, meaning that the configuration can be
stored in the minion config file, the master config file, or the minion's
pillar.
This configuration option is called ``virt.nic``. By default the ``virt.nic``
option is empty but defaults to a data structure which looks like this:
.. code-block:: yaml
virt.nic:
default:
eth0:
bridge: br0
model: virtio
.. note::
The model does not need to be defined, Salt will default to the optimal
model used by the underlying hypervisor, in the case of kvm this model
is :strong:`virtio`
This configuration sets up a network profile called default. The default
profile creates a single Ethernet device on the virtual machine that is bridged
to the hypervisor's :strong:`br0` interface. This default setup does not
require setting up the ``virt.nic`` configuration, and is the reason why a
default install only requires setting up the :strong:`br0` bridge device on the
hypervisor.
Define More Profiles
====================
Many environments will require more complex network profiles and may require
more than one profile, this can be easily accomplished:
.. code-block:: yaml
virt.nic:
dual:
eth0:
bridge: service_br
eth1:
bridge: storage_br
single:
eth0:
bridge: service_br
triple:
eth0:
bridge: service_br
eth1:
bridge: storage_br
eth2:
bridge: dmz_br
all:
eth0:
bridge: service_br
eth1:
bridge: storage_br
eth2:
bridge: dmz_br
eth3:
bridge: database_br
dmz:
eth0:
bridge: service_br
eth1:
bridge: dmz_br
database:
eth0:
bridge: service_br
eth1:
bridge: database_br
This configuration allows for one of six profiles to be selected, allowing
virtual machines to be created which attach to different network depending
on the needs of the deployed vm.