Creating Talos Kubernetes cluster using Proxmox.
talosctl
on MacOS and Linux via:
linux
platform:
siderolabs/qemu-guest-agent
and submitamd64
for you)factory.talos.dev/installer
URL as you’ll need it laterNote: As of Talos v1.0 (which requires the x86-64-v2 microarchitecture), prior to Proxmox V8.0, booting with the default Processor Typekvm64
will not work. You can enable the required CPU features after creating the VM by adding the following line in the corresponding/etc/pve/qemu-server/<vmid>.conf
file:Alternatively, you can set the Processor Type tohost
if your Proxmox host supports these CPU features, this however prevents using live VM migration.
Note: Talos doesn’t support memory hot plugging, if creating the VM programmatically don’t enable memory hotplug on your Talos VM’s. Doing so will cause Talos to be unable to see all available memory and have insufficient memory to complete installation of the cluster.
$CONTROL_PLANE_IP
for the rest of this guide.
If you wish to export this IP as a bash variable, simply issue a command like export CONTROL_PLANE_IP=1.2.3.4
.
e
on the boot time.
And set the IP parameters for the VM.
Format is:
_out
directory: controlplane.yaml
, worker.yaml
, and talosconfig
.
Note: The Talos config by default will install to/dev/sda
. Depending on your setup the virtual disk may be mounted differently Eg:/dev/vda
. You can check for disks running the following command:Updatecontrolplane.yaml
andworker.yaml
config files to point to the correct disk location.
QEMU Guest Agent
is Enabled
controlplane.yaml
generated above, you can now apply this config using talosctl.
Issue:
Booting
until the bootstrap is completed in a later step.
Note: This process can be repeated multiple times to create an HA control plane.
$WORKER_IP
Issue:
Note: This process can be repeated multiple times to add additional workers.
talosctl
and kubectl
to interact with the cluster.
For example, to view current running containers, run talosctl containers
for a list of containers in the system
namespace, or talosctl containers -k
for the k8s.io
namespace.
To view the logs of a container, use talosctl logs <container>
or talosctl logs -k <container>
.
First, configure talosctl to talk to your control plane node by issuing the following, updating paths and IPs as necessary:
kubeconfig
kubeconfig
by running: