You use machineConfigs that are used to provision the base OS and configure it, and the clusterConfig is used to bootstrap k8s on those machines. You can make subtypes and super types, you can have different networking setups, whatever you like, just apply and the OS is driven to state, then k8s is brought up from there. You are presented a kubeconfig after. Changes are done via application of updated machineConfig. Works great in practices and if you write an operator you can manage the config generation via k8s manifests and get wild with it.
Comments
Where is networking configured? I assume the system has to have an IP address before containerd can fetch images.
Everything is API driven and static networking can be configured via kernel args
https://www.talos.dev/latest/reference/configuration/v1alpha...
You use machineConfigs that are used to provision the base OS and configure it, and the clusterConfig is used to bootstrap k8s on those machines. You can make subtypes and super types, you can have different networking setups, whatever you like, just apply and the OS is driven to state, then k8s is brought up from there. You are presented a kubeconfig after. Changes are done via application of updated machineConfig. Works great in practices and if you write an operator you can manage the config generation via k8s manifests and get wild with it.
DHCP I would assume.
Yeah but where is the DHCP client? In the kernel?
In machined (PID1 of Talos).
And moving a network protocol implementation into PID1 is good why? So any security vulnerability in the DHCP implementation gives you root.