infrastructure.cluster.x-k8s.io/v1alpha2
package v1alpha2 contains API Schema definitions for the infrastructure v1alpha2 API group
Resource Types:LXCCluster
LXCCluster is the Schema for the lxcclusters API.
Field | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||
spec LXCClusterSpec |
|
||||||||||
status LXCClusterStatus |
LXCClusterLoadBalancer
(Appears on: LXCClusterSpec)
LXCClusterLoadBalancer is configuration for provisioning the load balancer of the cluster.
Field | Description |
---|---|
lxc LXCLoadBalancerInstance |
(Optional)
LXC will spin up a plain Ubuntu instance with haproxy installed. The controller will automatically update the list of backends on the haproxy configuration as control plane nodes are added or removed from the cluster. No other configuration is required for “lxc” mode. The load balancer instance can be configured through the .instanceSpec field. The load balancer container is a single point of failure to access the workload cluster control plane. Therefore, it should only be used for development or evaluation clusters. |
oci LXCLoadBalancerInstance |
(Optional)
OCI will spin up an OCI instance running the kindest/haproxy image. The controller will automatically update the list of backends on the haproxy configuration as control plane nodes are added or removed from the cluster. No other configuration is required for “oci” mode. The load balancer instance can be configured through the .instanceSpec field. The load balancer container is a single point of failure to access the workload cluster control plane. Therefore, it should only be used for development or evaluation clusters. Requires server extensions: “instance_oci” |
ovn LXCLoadBalancerOVN |
(Optional)
OVN will create a network load balancer. The controller will automatically update the list of backends for the network load balancer as control plane nodes are added or removed from the cluster. The cluster administrator is responsible to ensure that the OVN network is configured properly and that the LXCMachineTemplate objects have appropriate profiles to use the OVN network. When using the “ovn” mode, the load balancer address must be set in Requires server extensions: “network_load_balancer”, “network_load_balancer_health_checks” |
external LXCLoadBalancerExternal |
(Optional)
External will not create a load balancer. It must be used alongside something like kube-vip, otherwise the cluster will fail to provision. When using the “external” mode, the load balancer address must be set in |
LXCClusterSpec
(Appears on: LXCCluster, LXCClusterTemplateResource)
LXCClusterSpec defines the desired state of LXCCluster.
Field | Description |
---|---|
controlPlaneEndpoint sigs.k8s.io/cluster-api/api/v1beta1.APIEndpoint |
ControlPlaneEndpoint represents the endpoint to communicate with the control plane. |
secretRef SecretRef |
SecretRef references a secret with credentials to access the LXC (e.g. Incus, LXD) server. |
loadBalancer LXCClusterLoadBalancer |
LoadBalancer is configuration for provisioning the load balancer of the cluster. |
unprivileged bool |
(Optional)
Unprivileged will launch unprivileged LXC containers for the cluster machines. Known limitations apply for unprivileged LXC containers (e.g. cannot use NFS volumes). |
skipDefaultKubeadmProfile bool |
(Optional)
Do not apply the default kubeadm profile on container instances. In this case, the cluster administrator is responsible to create the
profile manually and set the For more details on the default kubeadm profile that is applied, see https://lxc.github.io/cluster-api-provider-incus/reference/profile/kubeadm.html |
LXCClusterStatus
(Appears on: LXCCluster)
LXCClusterStatus defines the observed state of LXCCluster.
Field | Description |
---|---|
ready bool |
(Optional)
Ready denotes that the LXC cluster (infrastructure) is ready. |
conditions sigs.k8s.io/cluster-api/api/v1beta1.Conditions |
(Optional)
Conditions defines current service state of the LXCCluster. |
v1beta2 LXCClusterV1Beta2Status |
(Optional)
V1Beta2 groups all status fields that will be added in LXCCluster’s status with the v1beta2 version. |
LXCClusterTemplate
LXCClusterTemplate is the Schema for the lxcclustertemplates API.
Field | Description | ||
---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||
spec LXCClusterTemplateSpec |
|
LXCClusterTemplateResource
(Appears on: LXCClusterTemplateSpec)
LXCClusterTemplateResource describes the data needed to create a LXCCluster from a template.
Field | Description | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
metadata sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta |
(Optional)
Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata Refer to the Kubernetes API documentation for the fields of themetadata field.
|
||||||||||
spec LXCClusterSpec |
|
LXCClusterTemplateSpec
(Appears on: LXCClusterTemplate)
LXCClusterTemplateSpec defines the desired state of LXCClusterTemplate.
Field | Description |
---|---|
template LXCClusterTemplateResource |
LXCClusterV1Beta2Status
(Appears on: LXCClusterStatus)
LXCClusterV1Beta2Status groups all the fields that will be added or modified in LXCCluster with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description |
---|---|
conditions []Kubernetes meta/v1.Condition |
(Optional)
conditions represents the observations of a LXCCluster’s current state. Known condition types are Ready, LoadBalancerAvailable, Deleting, Paused. |
LXCLoadBalancerExternal
(Appears on: LXCClusterLoadBalancer)
LXCLoadBalancerInstance
(Appears on: LXCClusterLoadBalancer)
Field | Description |
---|---|
instanceSpec LXCLoadBalancerMachineSpec |
(Optional)
InstanceSpec can be used to adjust the load balancer instance configuration. |
LXCLoadBalancerMachineSpec
(Appears on: LXCLoadBalancerInstance)
LXCLoadBalancerMachineSpec is configuration for the container that will host the cluster load balancer, when using the “lxc” or “oci” load balancer type.
Field | Description |
---|---|
flavor string |
(Optional)
Flavor is configuration for the instance size (e.g. t3.micro, or c2-m4). Examples:
|
profiles []string |
(Optional)
Profiles is a list of profiles to attach to the instance. |
image LXCMachineImageSource |
(Optional)
Image to use for provisioning the load balancer machine. If not set, a default image based on the load balancer type will be used.
|
target string |
(Optional)
Target where the load balancer machine should be provisioned, when infrastructure is a production cluster. Can be one of:
Target is ignored when infrastructure is single-node (e.g. for development purposes). For more information on cluster groups, you can refer to https://linuxcontainers.org/incus/docs/main/explanation/clustering/#cluster-groups |
LXCLoadBalancerOVN
(Appears on: LXCClusterLoadBalancer)
Field | Description |
---|---|
networkName string |
NetworkName is the name of the network to create the load balancer. |
LXCMachine
LXCMachine is the Schema for the lxcmachines API.
Field | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||||||||||||||||
spec LXCMachineSpec |
|
||||||||||||||||
status LXCMachineStatus |
LXCMachineImageSource
(Appears on: LXCLoadBalancerMachineSpec, LXCMachineSpec)
Field | Description |
---|---|
name string |
(Optional)
Name is the image name or alias. Note that Incus and Canonical LXD use incompatible image servers
for Ubuntu images. To address this issue, setting image name to
|
fingerprint string |
(Optional)
Fingerprint is the image fingerprint. |
server string |
(Optional)
Server is the remote server, e.g. “https://images.linuxcontainers.org” |
protocol string |
(Optional)
Protocol is the protocol to use for fetching the image, e.g. “simplestreams”. |
LXCMachineSpec
(Appears on: LXCMachine, LXCMachineTemplateResource)
LXCMachineSpec defines the desired state of LXCMachine.
Field | Description |
---|---|
providerID string |
(Optional)
ProviderID is the container name in ProviderID format (lxc:/// |
instanceType string |
(Optional)
InstanceType is “container” or “virtual-machine”. Empty defaults to “container”. |
flavor string |
(Optional)
Flavor is configuration for the instance size (e.g. t3.micro, or c2-m4). Examples:
|
profiles []string |
(Optional)
Profiles is a list of profiles to attach to the instance. |
devices []string |
(Optional)
Devices allows overriding the configuration of the instance disk or network. Device configuration must be formatted using the syntax “ For example, to specify a different network for an instance, you can use:
|
config map[string]string |
(Optional)
Config allows overriding instance configuration keys. Note that the provider will always set the following configuration keys:
See https://linuxcontainers.org/incus/docs/main/reference/instance_options/#instance-options for details. |
image LXCMachineImageSource |
(Optional)
Image to use for provisioning the machine. If not set, a kubeadm image from the default upstream simplestreams source will be used, based on the version of the machine. Note that the default source does not support images for all Kubernetes versions, refer to the documentation for more details on which versions are supported and how to build a base image for any version. |
target string |
(Optional)
Target where the machine should be provisioned, when infrastructure is a production cluster. Can be one of:
Target is ignored when infrastructure is single-node (e.g. for development purposes). For more information on cluster groups, you can refer to https://linuxcontainers.org/incus/docs/main/explanation/clustering/#cluster-groups |
LXCMachineStatus
(Appears on: LXCMachine)
LXCMachineStatus defines the observed state of LXCMachine.
Field | Description |
---|---|
ready bool |
(Optional)
Ready denotes that the LXC machine is ready. |
loadBalancerConfigured bool |
(Optional)
LoadBalancerConfigured will be set to true once for each control plane node, after the load balancer instance is reconfigured. |
addresses []sigs.k8s.io/cluster-api/api/v1beta1.MachineAddress |
(Optional)
Addresses is the list of addresses of the LXC machine. |
conditions sigs.k8s.io/cluster-api/api/v1beta1.Conditions |
(Optional)
Conditions defines current service state of the LXCMachine. |
v1beta2 LXCMachineV1Beta2Status |
(Optional)
V1Beta2 groups all status fields that will be added in LXCMachine’s status with the v1beta2 version. |
LXCMachineTemplate
LXCMachineTemplate is the Schema for the lxcmachinetemplates API.
Field | Description | ||
---|---|---|---|
metadata Kubernetes meta/v1.ObjectMeta |
Refer to the Kubernetes API documentation for the fields of the
metadata field.
|
||
spec LXCMachineTemplateSpec |
|
LXCMachineTemplateResource
(Appears on: LXCMachineTemplateSpec)
LXCMachineTemplateResource describes the data needed to create a LXCMachine from a template.
Field | Description | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
metadata sigs.k8s.io/cluster-api/api/v1beta1.ObjectMeta |
(Optional)
Standard object’s metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata Refer to the Kubernetes API documentation for the fields of themetadata field.
|
||||||||||||||||
spec LXCMachineSpec |
Spec is the specification of the desired behavior of the machine.
|
LXCMachineTemplateSpec
(Appears on: LXCMachineTemplate)
LXCMachineTemplateSpec defines the desired state of LXCMachineTemplate.
Field | Description |
---|---|
template LXCMachineTemplateResource |
LXCMachineV1Beta2Status
(Appears on: LXCMachineStatus)
LXCMachineV1Beta2Status groups all the fields that will be added or modified in LXCMachine with the V1Beta2 version. See https://github.com/kubernetes-sigs/cluster-api/blob/main/docs/proposals/20240916-improve-status-in-CAPI-resources.md for more context.
Field | Description |
---|---|
conditions []Kubernetes meta/v1.Condition |
(Optional)
conditions represents the observations of a LXCMachine’s current state. Known condition types are Ready, InstanceProvisioned, Deleting, Paused. |
SecretRef
(Appears on: LXCClusterSpec)
SecretRef is a reference to a secret in the cluster.
Field | Description |
---|---|
name string |
Name is the name of the secret to use. The secret must already exist in the same namespace as the parent object. |
Generated with gen-crd-api-reference-docs
.