build kubernetes csi development env by kind on Mac

Beautiful Autumn photo by HaoMa

Recently I’ve been investigating Model training acceleration, I found Alluxio, at the same time noted Fluid,

Our Service are all on kubernetes, Fluid is a good architecture strategy

I need a development environment where I can submit code and get involved

But no one used Kind to develop it, kind is a good kubernetes development tool

So follow me and start setting up the development environment by kind on Mac

Fluid currently contains four controllers

  • alluxio
  • csi-driver + node-driver-registrar(sidecar)
  • dataset
  • jindo
https://thenewstack.io/the-current-state-of-the-state-for-cloud-native-storage/

csi-driver need to communicate with kubelet, so we run them in node container

the rest of controllers run directly on the Mac

  1. create kind kubernetes cluster

“/User/mahao/go” is my GOPATH on Mac

local/go for building csi-driver code in kind node container, you can download it from https://golang.org/doc/install, I use go1.16.3.linux-amd64.tar.gz

2. create crds and csi driver to kind cluster

  • alluxioruntimes.data.fluid.io
  • databackups.data.fluid.io
  • dataloads.data.fluid.io
  • datasets.data.fluid.io
  • jindoruntimes.data.fluid.io
  • fuse.csi.fluid.io

3. run csi-driver and node-driver-registrar code in kind node container

start fluid csi driver

start node-driver-registrar

I made a small change to node-driver-registrar based on V1.3.0 , you can checkout it from https://github.com/allenhaozi/node-driver-registrar/tree/feat/fluid-dev-v1.3.0

The only change is to allow passing `reg-path` in parameters

4. start alluxio, dataset on the Mac

start alluxio

start dataset

load image to kind cluster

4. run fluid demo

finish it,

If you have an easier method based on Kind, please leave a comment

kubernetes, AI, PaaS

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store