Creating a Network Bridge
A network bridge will be needed for running a VM inside of SCALE and to be able to reach the host-machine.To create a Bridge. Open your TrueNAS Scale WebUI and go to the Network tab.
Aquiring Interface Settings
Note down the interface IP Address and the Subnet mask of your currently used Interface.
Click on Edit on the currently used Interface.
Disable
DHCP
and remove allAlias
by Clicking on the x next to them.Create the Network Bridge like described in the following section.
The Network Interface should now look like this:
Creating the Network Bridge
Click on Add in the Top Right Corner of the Interfaces Section.
Select Type Bridge and give it a Name. The name cannot be changed afterwards. You might want to add a meaningful description to it.
Add your network interface as a Bridge Member. (Example here: enp6so)
Set the
MTU
to1500
.In the Alias section click on Add to create a new IP Address Field.
Enter the IP-Address and Subnet mask you previously took note off.
Click
Test Changes
and confirm the prompt. Wait a bit for the ui to get responsive again.Click on
Save Changes
to save the changes you have made.If something goes wrong and the UI stays unresponsive the changes will be reverted in 60 seconds.
The bridge should look similar to this one when done:
Creating the ZVOL for the VM
Start by going to the
Datasets
section of your TrueNAS Scale WebUI.The size should be between
500GiB
and1000GiB.
Make sure to select the
Sparse
optionWe do not recommend to encrypt the dataset.
Set the block size to
128KiB
After you are done it should look similar to this:
Creating the VM
Start by going to the
Virtualization
section of your TrueNAS Scale WebUI.If you want to assign a GPU to the VM, make sure to isolate the GPU first.
Click on
Add Virtual Machines
We also highly suggest users to set a fixed DHCP-Lease (fixed dhcp IP) for your VM inside your Router.
Operating System
Select the options like shown below:
Make sure to remember the password you have selected.
CPU And Memory
Select the amount of
Cores
and Set theThreads
to2
if your CPU support HyperThreading like in the example below.We suggests you to add available Host-Cores minus 1 for your host system.Make sure to allocate enough
RAM
towards your VM with theMemory Size
setting.Minimum Amount of RAM:
8gb
Minimum Recommended Amount of RAM.16GB
Disks
Select the previously created Zvol for your VM like shown below:
Network Interfaces
Change the Atach NIC
to the Bridge you have created in the beginning of the guide.
Installation Media
Download the Talos Linux Image here and save it to your pc.
Click on
Upload New Image File
in the VM Creation Screen and chooseChoose File
and select the downloaded ISO. Make sure to select an location where you want to save your ISO to. An example can be seen below:
GPU
Make sure your GPU is isolated before you try to assign it towards your VM.If you don’t want to assign a GPU to your VM just click Next
and skip this part of the guide.
Confirm Options
If you followed this guide closely the options shown should look similar to the screenshot below.Make sure everything is correct and then click on Save
to finish the VM settings.
GPU Isolation
Go to
System Settings
>Advanced
in your SCALE UI and scroll down to the sectionIsolated GPU Device(s)
.Click on
Configure
on the top right of the section and close the warning.Select the GPU you want to Isolate and use for your VM in the dropdown. Like shown here
Click
Save
. This can take a bit.It should now show your Isolated GPU in the Section. (Might need to refresh and clear your cache for it to show up.)
Fixed DHCP Lease
Below you can find 2 examples on how to set a fixed DHCP Lease for Unify and Fritzbox.
Unify
Open your Unify UI and go to the Client View (highlighted in blue on the screenshot)
Click on the Client that represents your VM (not your Host).
Select
Fixed IP-Address
in the pop-up menu on the right.
Fritzbox
Go to your fritzbox web-interface. Go to
Home Network
>Network
and select the running VM (not your Host).Click on the Edit-Button and scroll down to the IP-Address in Home Network section.
Check
Always give this device the same IP
TalConfig Examples
Here are a few examples you can copy-paste into talconfig to setup the above VMs to run Talos.
Single-Node Cluster or Master-Node
By default we ensure qemu guest additions are always loaded for all master-nodes.Its important to note that for master nodes, we use static IPs for referencing them after they are initially initiallised using a Fixed DHCP lease.
- hostname: k8s-control-1
ipAddress: ${MASTER1IP}
controlPlane: true
nameservers:
- 8.8.8.8
- 1.1.1.1
installDiskSelector:
size: <= 100TB
networkInterfaces:
- interface: eth0
addresses:
- ${MASTER1IP}/24
routes:
- network: 0.0.0.0/0
gateway: ${GATEWAY}
vip:
ip: ${VIP}
Worker Node
By default we ensure qemu guest additions are always loaded for all worker-nodes.Workernodes can be pretty basic and should “just work”
- hostname: k8s-worker-1
ipAddress: 192.168.10.111
nameservers:
- 8.8.8.8
- 1.1.1.1
installDiskSelector:
size: <= 600GB