If you have a Mac (or potententially Windows?) rather than use minikube you can use the [Docker Desktop](https://www.docker.com/products/docker-desktop) app to provide a Kubernetes cluster.
Instructions courtesy of RayG
> helm can be had through macports (homebrew probably as well)
> ```
> sudo port install helm-2.14
> sudo port select --set helm helm2.14
> helm init --history=max 200
> ```
>
> ingress is also pretty quick to set up (note, can open ports to outside world!)
> those are from the instructions at https://kubernetes.github.io/ingress-nginx/deploy/
### Build our docker image
```
docker build -t say-hello .
```
## Minikube setup
### Start Minikube with the required plugins
```
```
minikube start
minikube start
minikube addons enable helm-tiller
minikube addons enable helm-tiller
minikube addons enable ingress
minikube addons enable ingress
```
```
## Build our docker image
### Build our docker image
```
```
eval $(minikube docker-env)
eval $(minikube docker-env)
docker build -t say-hello .
docker build -t say-hello .
...
@@ -94,10 +119,8 @@ helm status myapp
...
@@ -94,10 +119,8 @@ helm status myapp
```
```
The app will be available via its [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) and [Service](https://kubernetes.io/docs/concepts/services-networking/service/) which will proxy conections into
The app will be available via its [Ingress](https://kubernetes.io/docs/concepts/services-networking/ingress/) and [Service](https://kubernetes.io/docs/concepts/services-networking/service/) which will proxy conections into
the cluster to one of the 3 replicas available at the minikube IP address:
the cluster to one of the 3 replicas available at the cluster address IP address. Using minikube it will be `http://$(minikube ip)/say-hello`, or using Docker Desktop it will simply be `http://localhost/say-hello`
```
echo http://$(minikube ip)/say-hello
```
If you navigate to the above URL you should see a simple form where you can enter in
If you navigate to the above URL you should see a simple form where you can enter in
some text. There should also be a table listing all the jobs currently in the database.
some text. There should also be a table listing all the jobs currently in the database.