Talos installation
Talos is a stripped down Linux distribution tailored towards easy setup and management of Kubernetes clusters.
Sidero Talos allows you to create a Kubernetes cluster, using Omni as the central administration hub. To connect Talos nodes to Omni, a join token needs to be passed to the node. This configuration parameter is referenced as a siderolink.api
URL.
i3D.net currently only support Talos installations that connect to Omni. Therefore a siderolink.api
URL must always be provided by means a kernel argument injected into the API call for a vanilla Talos install, or injected into a Talos Factory image.
Talos can be installed in two flavors, using a vanilla image or using a Talos Factory image.
Talos Vanilla Installation
You must provide a siderolink.api
URL as a kernel argument in the API request body. This makes the Talos node join your Omni instance.
You can provide additional Talos kernel arguments in the request body complementing or overriding our defaults.
slab_nomerge
pti=on
vga=normal
locale=en_US
console-keymaps-at/keymap=us
net.ifnames=0
panic=0
initrd=initrd.magic
init_on_alloc=1
consoleblank=0
nvme_core.io_timeout=4294967295
nvme_core.multipath=n
printk.devkmsg=on
ima_template=ima-ng
ima_appraise=fix
ima_hash=sha512
talos.platform=metal
talos.events.sink=[fdae:41e4:649b:9303::1]:8091
talos.logging.kernel=tcp://[fdae:41e4:649b:9303::1]:8092
More information about Talos kernel parameters can be found here: https://www.talos.dev/v1.7/reference/kernel/
Our systems will automatically inject the network configuration for your server.
Request body
{
"name": "MyTalosServer",
"location": "EU: Rotterdam",
"instanceType": "bm7.std.8",
"os": {
"slug": "talos-omni-1110",
"kernelParams": [
{
"key": "siderolink.api",
"value": "https://siderolink.api/?jointoken=secret"
},
{
"key": "talos.customparam",
"value": "123456"
}
]
}
}
Talos Factory Installation
You must provide a factoryhash
as a kernel argument in the request body, pointing to the Factory image you want to use.
You should add all your kernel arguments inside of the Factory Image configuration, and not add any here in the request body, as they will be forgotten by Talos when you add a node to a cluster, or upgrade a node.
Request body
{
"name": "MyTalosServer",
"location": "EU: Rotterdam",
"instanceType": "bm7.std.8",
"os": {
"slug": "talos-omni-1110",
"kernelParams": [
{
"key": "factoryhash",
"value": "93be9c834b04065cdfb6223049697263586e92471231ed2abdfcc23c2a4551a4"
}
]
}
}
Note: When installing Talos, it relies on an external site. If the external site is down, installation cannot proceed.
Classic NIC names vs predictable NIC names
The kernel parameter net.ifnames=0
will disable predictable network interface names and revert to classic names like eth0
, eth1
, etc.
In most cases it is best practice to use net.ifnames=0
so make sure you add that as a kernel argument to your Factory Image configuration.
This works in most cases where a server only has 1 or 2 uplinks. If you have more than 2 uplinks and network configuration is failing, it can be that Talos is assigning the wrong interfaces to eth0
and / or eth1
. In that case you can try using the "predictable interface names" solution, by using the kernel parameter net.ifnames=1
.
Last updated
Was this helpful?