Setup and Deploy Vitess on Kubernetes (Minikube) for MySQL – Part II of III

vitess kubernetes mysqlIn this blog post, I’d like to share some experiences in setting up a Vitess environment for local tests and development on OSX/macOS. As previously, I have presented How To Test and Deploy Kubernetes Operator for MySQL(PXC) in OSX/macOS, this time I will be showing how to Run Vitess on Kubernetes.

Since running Kubernetes on a laptop is only experimental, I had faced several issues going through straight forward installation steps so I had to apply a few workarounds to the environment. This setup will have only minimum customization involved.

For a high-level overview of Vitess, please visit Part I of this series, Introduction to Vitess on Kubernetes for MySQL.

Housekeeping items needed during installation:

Installation and Configuration 

Minikube Installation 

One of the main challenges I’ve faced was that the latest Kubernetes version wasn’t compatible with the existing development. The issue is filed here in GitHub, hence we start with the previous version, not the default. 

Verify that the minikube is initialized and running.

Installation of etcd Operator  

The next item on the list is to get etcd operator running.  At this point, we’ll still need to clone etcd to local directory to have access to files. 

The issue reported here is a workaround to replace the deployment.yaml file.  Once that’s done we can proceed with the installation. 

Under /Users/[username]/Kubernetes/etcd-operator run;

If the above steps don’t work, alternatively you may install etcd-operator via helm

Installation of helm 

Another issue faced with Helm is it can’t find tiller.

Installation of Vitess Client

Get Vitess client installed using go: