Version

Install Kadalu Operator and CSI Pods using local Yaml and Container images.

Note: Private registry support is available only with Kadalu >=0.8.14

Start the Private Container registry

docker run -d -p 5000:5000 --name registry registry:2.7

Download the container images to local registry

Download the following container images and push to the custom registry.

sudo docker pull docker.io/kadalu/kadalu-csi:devel
sudo docker pull docker.io/kadalu/kadalu-operator:devel
sudo docker pull docker.io/kadalu/kadalu-server:devel
sudo docker pull docker.io/raspbernetes/csi-node-driver-registrar:2.0.1
sudo docker pull docker.io/library/busybox
sudo docker pull docker.io/raspbernetes/csi-external-provisioner:2.0.2
sudo docker pull docker.io/raspbernetes/csi-external-attacher:3.0.0
sudo docker pull docker.io/raspbernetes/csi-external-resizer:1.0.0

Note: Change the version of Kadalu Container images as required.

Tag to private registry URL(Example: my_company_images:5000)

sudo docker tag docker.io/kadalu/kadalu-csi:devel my_company_images:5000/kadalu/kadalu-csi:devel
sudo docker tag docker.io/kadalu/kadalu-operator:devel my_company_images:5000/kadalu/kadalu-operator:devel
sudo docker tag docker.io/kadalu/kadalu-server:devel my_company_images:5000/kadalu/kadalu-server:devel
sudo docker tag docker.io/raspbernetes/csi-node-driver-registrar:2.0.1 my_company_images:5000/raspbernetes/csi-node-driver-registrar:2.0.1
sudo docker tag docker.io/library/busybox my_company_images:5000/library/busybox
sudo docker tag docker.io/raspbernetes/csi-external-provisioner:2.0.2 my_company_images:5000/raspbernetes/csi-external-provisioner:2.0.2
sudo docker tag docker.io/raspbernetes/csi-external-attacher:3.0.0 my_company_images:5000/raspbernetes/csi-external-attacher:3.0.0
sudo docker tag docker.io/raspbernetes/csi-external-resizer:1.0.0 my_company_images:5000/raspbernetes/csi-external-resizer:1.0.0

Upload the images to private repository.

sudo docker push my_company_images:5000/kadalu/kadalu-csi:devel
sudo docker push my_company_images:5000/kadalu/kadalu-operator:devel
sudo docker push my_company_images:5000/kadalu/kadalu-server:devel
sudo docker push my_company_images:5000/raspbernetes/csi-node-driver-registrar:2.0.1
sudo docker push my_company_images:5000/library/busybox
sudo docker push my_company_images:5000/raspbernetes/csi-external-provisioner:2.0.2
sudo docker push my_company_images:5000/raspbernetes/csi-external-attacher:3.0.0
sudo docker push my_company_images:5000/raspbernetes/csi-external-resizer:1.0.0

Generate Manifest files

Now generate the manifest files by running the following command.

IMAGES_HUB=my_company_images:5000 make gen-manifest

Change the IMAGES_HUB to custom domain as required.

Restricting node plugins to run in a few selected nodes

If running CSI node plugin in all the hundreds of nodes is not desirable then edit the csi-nodeplugin yaml file and add the nodeSelector as shown in the example below.

...
kind: DaemonSet
apiVersion: apps/v1
metadata:
  name: kadalu-csi-nodeplugin
  namespace: kadalu
  labels:
    app.kubernetes.io/part-of: kadalu
    app.kubernetes.io/component: csi-driver
    app.kubernetes.io/name: kadalu-csi-nodeplugin
spec:
  nodeSelector:
    kadalu_node_plugin: "true"
...

And set the label to all the required nodes

kubectl label nodes <your-node-name> kadalu_node_plugin=true

Install Kubectl extension

curl -fsSL https://github.com/kadalu/kadalu/releases/latest/download/install.sh | sudo bash -x

Install Kadalu Operator and CSI

kubectl kadalu install --local-yaml=./manifests/kadalu-operator.yaml --local-csi-yaml=./manifests/csi-nodeplugin.yaml

ON THIS PAGE