Public DNS & Public Load Balancer Support

Phil Dougherty
ContainerShip Articles
3 min readAug 17, 2015

--

ContainerShip Cloud gets DNS automation and provider agnostic public TCP/HTTP load balancer support

We are proud to announce the availability of two really useful features in ContainerShip Cloud.

Automated Public DNS

We are now creating a custom unique DNS entry on our cship.co domain for every application you launch via ContainerShip Cloud.

DNS entry created for an application named redis

This greatly increases the convenience of accessing your applications publicly on the internet. The DNS entry points to the follower hosts of your cluster, and is updated automatically as you scale your cluster up or down. We have two followers in the cluster currently, and if we do a dns lookup on the redis DNS entry, we see their public IPs.

Automated DNS entries point to follower hosts

Using the DNS entry directly still requires specifying the application specific ContainerShip Discovery Port. For our redis application, the discovery port is 10918.

Connecting to redis using the DNS entry and discovery port

But what if we want to be able to connect to redis without having to specify a port, or if we want it to be exposed publicly on a specific port of our choosing? Read on to learn about the new load balancer functionality.

Public Load Balancer Support

Our public load balancer functionality is delivered using a specially crafted HAProxy container that ties in to the ContainerShip API.

Using the new feature is simple, supports both TCP and HTTP load balancing, and allows you to make your applications respond on whatever port you want publicly.

Creating a load balancer is easy and all you need to do is specify the Cluster, Load balancing type, Public Port, and Backend application.

Creating a new load balancer for our redis application

Once the load balancer has been created it will be visible in the overview.

Overview of the newly created load balancer for redis

After creation, you can set custom domains that the application should respond on. This is specific to HTTP load balancers but we added one for you to see the functionality. By default the application will respond on the automated cship.co DNS entry for the specific application you are load balancing.

Make applications respond on custom domains and subdomains

All you need to do to use a custom domain is create a CNAME entry in your own DNS zone pointing to the cship.co domain for the application.

Now that our load balancer is created we can try to access our redis application using the default port of 6379. We will do that by connecting without specifying a port.

Accessing redis without specifying a port

Voila! We can now access redis without worrying about discovery ports (or crappy overlay networks).

Coming Soon

We have SSL/HTTPS support with custom SSL certs working and will be rolling it out shortly!

Want more information? Check out the documentation for DNS and Load Balancing!

More of a visual learner?

Watch the video tutorial!

--

--

Phil Dougherty
ContainerShip Articles

Co-Founder @containershipio, Husband, Systems Engineer, Manager, Pittsburgher, Pitbull lover.