K3sCluster Custom Resource
A K3sCluster installs a k3s cluster onto existing machines over SSH. The control plane machine runs the k3s server; each worker joins as a k3s agent. It is provider-agnostic: any set of reachable Linux hosts works, whether bare metal or virtual. It outputs a Secret containing the cluster kubeconfig. The kubeconfig embeds a static client certificate, so consumers need nothing beyond it to reach the cluster. The control plane is a single server; it is a single point of failure for the cluster control plane.
#Metadata
#Spec
K3sClusterSpec defines the desired state of K3sCluster.
SSH authentication used to reach every machine. All machines must accept the same user and private key.
Secret holding the SSH private key, in the same namespace as this K3sCluster.
SSH user. Must be root or have passwordless sudo.
The machine that runs the k3s server (the management plane). Must be reachable over SSH from the control plane running Modelplane.
The k3s release to install. Defaults to the v1.34 channel, the first where Dynamic Resource Allocation (how GPUs bind to pods) is generally available.
DNS name or IP address of the machine.
Node labels applied to this worker.
Unique name for this worker.
SSH port.
#Status
Key within the Secret that holds the credential data.
Name of the Secret.
The type of credential this secret contains. Kubeconfig contains a kubeconfig file with the cluster endpoint, CA certificate, and a static client certificate.