Appendix A. Installation and Setup

 

Kubernetes is the platform on which we have deployed multiple MLOps tools and projects, so the first step would be to set it up. Usually Kubernetes (or K8s) is associated with a cluster of nodes and deployments spread across multiple node pools (collection of nodes), we will be presenting two ways of installing it: Local vs Cloud. Both work well and have their pros and cons, depending on your use case you can go with either. We suggest that if you are new to K8s, try out a local installation which is a good way to start and then you can proceed to using K8s on cloud to run and deploy your projects.

A.1 Local Installation Of Command Line Tools (Mac And Linux)

We need to install some command line tools before we proceed to install Kubernetes and Kubeflow.

Yq

Yq is a yaml processor which allows one to edit a yaml file from command line, quite useful while writing CI pipelines and installations. Run the following script to install it:

export VERSION=v4.2.0  
export BINARY=yq_linux_amd64  
wget "https://github.com/mikefarah/yq/releases/download/${VERSION}/${BINARY}" -O /usr/bin/yq && chmod +x /usr/bin/yq

Or on mac:

brew install yq

Kustomize

Kustomize is a config management utility in K8s, it helps in modifying and combining our yaml artifacts which are necessary for this installation. Run the following to install Kustomize:

curl -s "https://raw.githubusercontent.com/kubernetes-sigs/kustomize/master/hack/install_kustomize.sh" | bash  

A.1.1 Argo CD

A.1.2 Kubeflow

A.1.3 Cloud Provider K8s Setup

A.1.4 MLflow Setup

A.1.5 Redis Online Store Setup

A.1.6 BentoML Setup

A.1.7 Evidently UI Setup