LXD CSI driver reference¶
This document contains reference information for the LXD CSI driver CLI, including available Helm chart values and its versioning information.
CLI¶
The lxd-csi-driver
provides CSI controller and node server functionality.
You can configure runtime options using these flags:
Flag |
Default |
Description |
---|---|---|
|
|
CSI driver name |
|
|
Internal CSI Unix socket path |
|
|
DevLXD Unix socket path |
|
|
Kubernetes node ID |
Helm chart¶
The LXD CSI driver Helm chart is available as an OCI image. The source of the Helm chart can be found in the LXD CSI driver repository.
The table below contains configurable Helm chart values with their default values and descriptions.
Key |
Type |
Default |
Description |
---|---|---|---|
|
string |
|
LXD CSI image |
|
string |
Chart version |
LXD CSI image tag |
|
string |
|
LXD CSI image pull policy |
|
list |
|
LXD CSI image pull secrets |
|
string |
|
Name of the secret containing DevLXD bearer token in |
|
string |
|
Controls Kubernetes |
|
string |
|
Prefix used for LXD volume names. Resulting volume name is in format |
|
bool |
|
Create RBAC resources allowing LXD CSI access to relevant Kubernetes objects |
|
string |
|
Controller Deployment name |
|
int |
|
Controller Deployment replicas. When deployed in multiple replicas, the preferred affinity is configured in an attempt to distribute Pods across multiple nodes. |
|
string |
|
Controller Deployment update strategy ( |
|
string |
|
Max unavailable Pods during update |
|
string |
|
Controller Pod scheduling priority |
|
bool |
|
Whether to create required service account for controller server |
|
string |
|
Custom service account name |
|
bool |
|
Whether to run controller only on control plane nodes. This ensures appropriate node affinity and tolerations are configured. If node affinity is manually set, this option is disabled. |
|
object |
|
Node selector for controller Pods |
|
list |
|
Controller Pod tolerations |
|
object |
|
Controller Pod affinity |
|
object |
|
Controller Deployment annotations |
|
object |
|
Controller Pod annotations |
|
object |
|
Controller resource limits and requests |
|
string |
|
CSI provisioner image |
|
string |
Chart release dependent |
CSI provisioner image tag |
|
string |
|
CSI provisioner pull policy |
|
object |
|
CSI provisioner resource limits and requests |
|
string |
|
CSI attacher image |
|
string |
Chart release dependent |
CSI attacher image tag |
|
string |
|
CSI attacher image pull policy |
|
object |
|
CSI attacher resource limits and requests |
|
string |
|
CSI liveness probe image |
|
string |
Chart release dependent |
CSI liveness probe image tag |
|
string |
|
CSI liveness probe image pull policy |
|
object |
|
CSI liveness probe resource limits and requests |
|
string |
|
Node DaemonSet name |
|
string |
|
Node DaemonSet update strategy ( |
|
string |
|
Max unavailable Pods during update |
|
string |
|
Node Pod scheduling priority |
|
bool |
|
Whether to create required service account for node server |
|
string |
|
Custom service account name |
|
object |
|
Node selector for node server Pods |
|
list |
|
Node Pod tolerations |
|
object |
|
Node Pod affinity |
|
object |
|
Node DaemonSet annotations |
|
object |
|
Node Pod annotations |
|
object |
|
Node server resource limits and requests |
|
string |
|
Node driver registrar image |
|
string |
Chart release dependent |
Node driver registrar image tag |
|
string |
|
Node driver registrar image pull policy |
|
object |
|
Node driver registrar resource limits and requests |
|
string |
|
CSI liveness probe image |
|
string |
Chart release dependent |
CSI liveness probe image tag |
|
string |
|
CSI liveness probe image pull policy |
|
object |
|
CSI liveness probe resource limits and requests |
|
bool |
|
Create the specified storage class |
|
string |
|
Storage class name |
|
string |
|
Name of the target LXD storage pool |
|
string |
|
Volume binding mode ( |
|
string |
|
Volume reclaim policy ( |
|
object |
|
Additional storage class annotations |
Versioning¶
The LXD CSI driver follows Semantic Versioning independently of LXD releases, starting at 0.0.1
.
Tag type |
Format |
Example |
Description |
---|---|---|---|
Patch |
|
|
Bugfix release. Each patch within the same minor version provides the same set of features. |
Minor |
|
|
Feature release. Adds new features in a backward-compatible way within the major version. Features may be deprecated, but remain usable. |
Major |
|
|
Breaking release. May include breaking changes and may raise minimum LXD version. |
Compatibility¶
For any major driver version ≥1
, the minimum supported LXD version is fixed.
Updates within that major version remain compatible with that LXD version (or newer) until the driver version reaches end-of-life (EOL).
On the other hand, Kubernetes versions receive roughly one year of patch support. The LXD CSI driver only supports Kubernetes versions that are themselves supported upstream. When a Kubernetes version reaches end of life, it is no longer supported by the driver.
CSI Version |
Min. LXD Version |
Min. Kubernetes Version |
EOL |
---|---|---|---|
|
|
|
N/A |
Special versions¶
All versions before the first major release (
<1.0.0
) make no guarantees. Behavior may change even in patch releases.Versions with non-semantic tags (e.g.
latest-edge
) or with pre-release identifiers (e.g.v1.2.3-edge
) are considered unstable and should be used only for testing.Version
0.0.0
is reserved for unstable builds where semantic versioning is required (e.g.v0.0.0-latest-edge
is latest Helm chart release).