Files
k3k/docs/crds/crd-docs.md
Hussein Galal fa553d25d4 Default to dynamic persistence and fix HA restarts (#250)
* Default to dynamic persistence and fix HA restarts

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>

---------

Signed-off-by: galal-hussein <hussein.galal.ahmed.11@gmail.com>
2025-02-14 14:26:10 +02:00

7.1 KiB

API Reference

Packages

k3k.io/v1alpha1

Resource Types

Addon

Appears in:

Field Description Default Validation
secretNamespace string
secretRef string

Cluster

Appears in:

Field Description Default Validation
apiVersion string k3k.io/v1alpha1
kind string Cluster
metadata ObjectMeta Refer to Kubernetes API documentation for fields of metadata.
spec ClusterSpec { }

ClusterLimit

Appears in:

Field Description Default Validation
serverLimit ResourceList ServerLimit is the limits (cpu/mem) that apply to the server nodes
workerLimit ResourceList WorkerLimit is the limits (cpu/mem) that apply to the agent nodes

ClusterList

Field Description Default Validation
apiVersion string k3k.io/v1alpha1
kind string ClusterList
metadata ListMeta Refer to Kubernetes API documentation for fields of metadata.
items Cluster array

ClusterMode

Underlying type: string

ClusterMode is the possible provisioning mode of a Cluster.

Validation:

  • Enum: [shared virtual]

Appears in:

ClusterSpec

Appears in:

Field Description Default Validation
version string Version is a string representing the Kubernetes version to be used by the virtual nodes.
servers integer Servers is the number of K3s pods to run in server (controlplane) mode. 1
agents integer Agents is the number of K3s pods to run in agent (worker) mode. 0
nodeSelector object (keys:string, values:string) NodeSelector is the node selector that will be applied to all server/agent pods.
In "shared" mode the node selector will be applied also to the workloads.
priorityClass string PriorityClass is the priorityClassName that will be applied to all server/agent pods.
In "shared" mode the priorityClassName will be applied also to the workloads.
clusterLimit ClusterLimit Limit is the limits that apply for the server/worker nodes.
tokenSecretRef SecretReference TokenSecretRef is Secret reference used as a token join server and worker nodes to the cluster. The controller
assumes that the secret has a field "token" in its data, any other fields in the secret will be ignored.
clusterCIDR string ClusterCIDR is the CIDR range for the pods of the cluster. Defaults to 10.42.0.0/16.
serviceCIDR string ServiceCIDR is the CIDR range for the services in the cluster. Defaults to 10.43.0.0/16.
clusterDNS string ClusterDNS is the IP address for the coredns service. Needs to be in the range provided by ServiceCIDR or CoreDNS may not deploy.
Defaults to 10.43.0.10.
serverArgs string array ServerArgs are the ordered key value pairs (e.x. "testArg", "testValue") for the K3s pods running in server mode.
agentArgs string array AgentArgs are the ordered key value pairs (e.x. "testArg", "testValue") for the K3s pods running in agent mode.
tlsSANs string array TLSSANs are the subjectAlternativeNames for the certificate the K3s server will use.
addons Addon array Addons is a list of secrets containing raw YAML which will be deployed in the virtual K3k cluster on startup.
mode ClusterMode Mode is the cluster provisioning mode which can be either "shared" or "virtual". Defaults to "shared" shared Enum: [shared virtual]
persistence PersistenceConfig Persistence contains options controlling how the etcd data of the virtual cluster is persisted. By default, no data
persistence is guaranteed, so restart of a virtual cluster pod may result in data loss without this field.
{ type:dynamic }
expose ExposeConfig Expose contains options for exposing the apiserver inside/outside of the cluster. By default, this is only exposed as a
clusterIP which is relatively secure, but difficult to access outside of the cluster.

ExposeConfig

Appears in:

Field Description Default Validation
ingress IngressConfig
loadbalancer LoadBalancerConfig
nodePort NodePortConfig

IngressConfig

Appears in:

Field Description Default Validation
annotations object (keys:string, values:string) Annotations is a key value map that will enrich the Ingress annotations
ingressClassName string

LoadBalancerConfig

Appears in:

Field Description Default Validation
enabled boolean

NodePortConfig

Appears in:

Field Description Default Validation
serverPort integer ServerPort is the port on each node on which the K3s server service is exposed when type is NodePort.
If not specified, a port will be allocated (default: 30000-32767)
servicePort integer ServicePort is the port on each node on which the K3s service is exposed when type is NodePort.
If not specified, a port will be allocated (default: 30000-32767)
etcdPort integer ETCDPort is the port on each node on which the ETCD service is exposed when type is NodePort.
If not specified, a port will be allocated (default: 30000-32767)

PersistenceConfig

Appears in:

Field Description Default Validation
type PersistenceMode dynamic
storageClassName string
storageRequestSize string

PersistenceMode

Underlying type: string

PersistenceMode is the storage mode of a Cluster.

Appears in: