Find the Load Balancer Address

On Azure Container Engine, Deis Workflow will automatically provision and attach a Azure Load Balancer to the router component. This component is responsible for routing HTTP and HTTPS requests from the public internet to applications that are deployed and managed by Deis Workflow.

Discover the ip address assigned to the deis-router, by describing the deis-router service:

$ kubectl --namespace=deis get service deis-router
NAME          CLUSTER-IP    EXTERNAL-IP    PORT(S)                            AGE
deis-router   10.0.60.172   13.82.148.57   80/TCP,443/TCP,2222/TCP,9090/TCP   54m

If the EXTERNAL-IP column shows <pending> instead of an ip address continue to wait until Azure finishes provisioning and attaching the load balancer.

Prepare the Hostname

Now that an ip address has been attached to the load balancer use the nip.io DNS service to route arbitrary hostnames to the Deis Workflow edge router. Usage of nip.io is not recommended for long-term use and is intended here as a short cut to prevent fiddling with DNS.

To verify connectivity to the Workflow API server and nip.io, construct the hostname by taking the ip address of load balancer and adding nip.io.

For our example above, the address would be: 13.82.148.57.nip.io.

Nip answers with the ip address no matter the hostname:

$ host 13.82.148.57.nip.io
13.82.148.57.nip.io has address 13.82.148.57
$ host something-random.13.82.148.57.nip.io
something-random.13.82.148.57.nip.io has address 13.82.148.57

By default, any HTTP traffic destined for the hostname deis is automatically sent to the Workflow API service. To test that everything is connected properly use curl:

$ curl http://deis.13.82.148.57.nip.io/v2/ && echo
{"detail":"Authentication credentials were not provided."}

Since no authentication information has been provided, curl will return an error. However this does validate that curl has reached the Workflow API service.

Remember the hostname, it will used in the next step.

You are now ready to register an admin user and deploy your first app.