Accessing the Docker Registry Hosting the Lightbits CSI Plugin
Depending on the version of Kubernetes and the deployment configuration, deploying the Lightbits CSI plugin requires a total of 5 to 8 Docker container images, which must be made available from a Docker registry during deployment time.
The Lightbits CSI plugin can be deployed directly from the Lightbits Docker registry and the official Kubernetes sidecar container images Docker registry, or locally staged on a private Docker registry hosted within your organizational network. The locally staged method is typically only required if the Kubernetes cluster you are working with does not have access to the Internet.
Deploying from the Lightbits Image Registry
The Lightbits CSI plugin itself is packaged as a single container image that is deployed in pods on the Kubernetes cluster nodes. This container image is available through the following Lightbits Image registry:
docker.lightbitslabs.com/lightos-csi
If you cannot access the Lightbits Docker registry, contact Lightbits Support to obtain the latest Lightbits Docker registry address and access credentials.
Furthermore, during the deployment 4-6 of the required Kubernetes sidecar container images will be obtained from the Quay registry:
registry.k8s.io
Deploying from a Local Private Docker Registry
It is possible to use a local private Docker registry if you deploy the Lightbits CSI plugin on a Kubernetes cluster that does not have access to an external network. In this case, you must use standard Docker commands first to pull the Lightbits CSI plugin Docker image, as well as several of the standard Kubernetes CSI “sidecar” container images, to a machine with external network access. Then, using standard Docker commands, push them from that machine to the local Docker registry.
Consult the Lightbits CSI plugin deployment spec file (e.g., lb-csi-plugin-k8s-v1.17.yaml for deployment on Kubernetes v1.17) for the specific version numbers of the sidecar container images that are required for deployment.
Deployment using sidecar container images of versions other than those specified, or images with the tag latest, is not supported.
The Lightbits CSI plugin container image is:
docker.lightbitslabs.com/lightos-csi/lb-csi-plugin
For deployment on Kubernetes versions between v1.17.0 and v1.22.x, since Snapshot support was added, the required Kubernetes sidecar containers are:
registry.k8s.io/sig-storage/csi-node-driver-registrar
registry.k8s.io/sig-storage/csi-provisioner
registry.k8s.io/sig-storage/csi-attacher
registry.k8s.io/sig-storage/csi-resizer
registry.k8s.io/sig-storage/csi-snapshotter
Once all the relevant container images are staged in the local Image registry, you must modify the Lightbits CSI plugin deployment spec file that you obtained as part of the Supplementary Package. Specifically:
- Update the image locations highlighted in the following spec snippets to point to your local Docker registry.
- Remove or modify the imagePullSecrets spec entry to match the local Docker registry credentials, if any are used.
kind StatefulSet
apiVersion apps/v1
metadata
name lb-csi-controller
...
containers
name lb-csi-plugin
image docker.lightbitslabs.com/lightos-csi/lb-csi-plugin1.19.0
...
name csi-provisioner
image registry.k8s.io/sig-storage/csi-provisioner v2.2.2
...
name csi-attacher
image registry.k8s.io/sig-storage/csi-attacher v3.3.0
...
imagePullSecrets
name lb-docker-reg-cred
...
kind DaemonSet
apiVersion apps/v1
metadata
name lb-csi-node
...
containers
name lb-csi-plugin
image docker.lightbitslabs.com/lightos-csi/lb-csi-plugin1.19.0
...
name driver-registrar
image registry.k8s.io/sig-storage/csi-node-driver-registrar v2.1.0
...
imagePullSecrets
name lb-docker-reg-cred