Define the services

Create persistent disks

N|Solid components require persistent storage. Kubernetes does not (yet!) automatically handle provisioning of disks consistently across all cloud providers. As such, you will need to manually create the persistent volumes.

On Google Cloud

Make sure the zone matches the zone you brought up your cluster in!

gcloud compute disks create --size 10GB nsolid-console

On AWS

We need to create our disks and then update the volumeIds in conf/nsolid.persistent.aws.yml.

On Azure

There's no need to explicitly create a persistent disk, since the Azure Container Service provides a default StorageClass, which will dynamically create them as needed (e.g. when a Pod includes a PersistentVolumeClaim).

On Bluemix

There's no need to explicitly create a persistent disk, since the Bluemix Container Service provides a default StorageClass, which will dynamically create them as needed (e.g. when a Pod includes a PersistentVolumeClaim).

Configure Kubernetes to utilize the newly created persistent volumes

GCE

kubectl create -f conf/nsolid.persistent.gce.yml

AWS

kubectl create -f conf/nsolid.persistent.aws.yml

Azure

There's no need to explicitly create a PersistentVolume object, since they will be dynamically provisioned by the default StorageClass.

Bluemix

There's no need to explicitly create a PersistentVolume object, since they will be dynamically provisioned by the default StorageClass.

Deploy N|Solid components

kubectl create -f conf/nsolid.cloud.yml

Debugging / Troubleshooting

Configuring Apps for N|Solid with Kubernetes

Building an N|Solid app

Docker

Make sure your docker image is build on top of nodesource/nsolid:carbon-latest.

Running nsolid-cli

minikube

Minikube is a bit different then a normal Kubernetes install. The DNS service isn't running so discovering is a bit more involved. IP addresses are not dynamically assigned, instead we must use the host ports the service is mapped to.

Setting ENV for cluster

If your doing a lot of work with docker and minikube it is recommended that you run the following: