Xen

Creating a Master Node

On Dom0, install Talos to an available block device:

docker run \
 --rm \
 --privileged \
 --volume /dev:/dev \
 talos-systems/talos:latest image -b /dev/sdb

Save the following as /etc/xen/master.cfg

name = "master"

builder='hvm'
bootloader = "/bin/pygrub"
firmware_override = "/usr/lib64/xen/boot/hvmloader"

vcpus=2
memory = 4096
serial = "pty"

kernel = "/var/lib/xen/talos/vmlinuz"
ramdisk = "/var/lib/xen/talos/initramfs.xz"
disk = [ 'phy:/dev/sdb,xvda,w', ]
vif = [ 'mac=52:54:00:A8:4C:E1,bridge=xenbr0,model=e1000', ]
extra = "consoleblank=0 console=hvc0 console=tty0 console=ttyS0,9600 talos.platform=bare-metal talos.userdata=http://${IP}:8080/master.yaml"

Note: http://${IP}:8080/master.yaml should be reachable by the VM and contain a valid master configuration file.

Now, create the VM:

xl create /etc/xen/master.cfg

Creating a Worker Node

On Dom0, install Talos to an available block device:

docker run \
 --rm \
 --privileged \
 --volume /dev:/dev \
 talos-systems/talos:latest image -b /dev/sdc

Save the following as /etc/xen/worker.cfg

name = "worker"

builder='hvm'
bootloader = "/bin/pygrub"
firmware_override = "/usr/lib64/xen/boot/hvmloader"

vcpus=2
memory = 4096
serial = "pty"

kernel = "/var/lib/xen/talos/vmlinuz"
ramdisk = "/var/lib/xen/talos/initramfs.xz"
disk = [ 'phy:/dev/sdc,xvda,w', ]
vif = [ 'mac=52:54:00:B9:5D:F2,bridge=xenbr0,model=e1000', ]
extra = "consoleblank=0 console=hvc0 console=tty0 console=ttyS0,9600 talos.platform=bare-metal talos.userdata=http://${IP}:8080/worker.yaml"

Note: http://${IP}:8080/worker.yaml should be reachable by the VM and contain a valid worker configuration file.

Now, create the VM:

xl create /etc/xen/worker.cfg