Docker UCP Universal Control Plane on AWS
Docker has been taking the DevOps world by storm over the last couple years. There are many 3rd party technologies that have attempted to provide a rich orchestration, monitoring and deployment strategy focused on Docker containers but we finally have a Docker native tool to unify all of our efforts. Docker Universal Control Plane is an insight and visibility tool that sits on top of Docker Swarm.
Docker containers offer unparalleled capabilities around multi-platform deployment, rapid inception, dense clustering and a true microservices architecture but we need management and oversight tools for the Operations side of the house just as much as the Development side. Universal Control Plane offers an on-premises management solution for Docker apps – regardless of where they run.
Now we can benefit from a scalable, Enterprise Ready solution that is Docker Native, without trying to shoehorn other technologies into a role they aren’t fit for.
- Integrates with LDAP
- Is Highly Available
- Deployable On-premises
- Supports secure TLS communications
- Leverages Docker Swarm and Compose
- Provides a Docker native experience for developers and operations
If you haven’t signed up for the BETA, I’d recommend doing so immediately here.
The startup documentation is great and I’m going to show you how to get the Docker UCP controller up and running quickly in AWS.
Installing UCP requires you to pull an image from the Docker Hub. If you don’t already have a Docker Hub account, make sure you create an account. Once you have a Hub account, request access to the UCP BETA program.
The first thing you’ll need to do is log into your AWS Console and go to EC2 Instances.
We’re going to launch the default Amazon Ubuntu image and I’m using __Ubuntu Server 14.04 LTS (HVM), SSD Volume Type – ami-d05e75b8. __
It’s important to note that the t2.micro is too small for this installation and you’ll need at minimum a__ t2.small__ instance.
For this example setup, we’re going to skip over storage and security concerns. I’ve simply opened communications to All Traffic in the Security Groups section but the official list of required ports is:
|12379, 12380||Key Value store|
|12381||Swarm CA service|
|12382||UCP CA service|
Now let’s go ahead and launch the instance. Once that’s ready, the first thing we’ll do is ssh into the instance and find out the Kernel version. $ uname -r
If this returns anything less than 3.16.x, we’re going to need to upgrade the Kernel before moving forward. $ sudo apt-get install linux-image-generic-lts-utopic -y
Then we’ll $ sudo reboot for the changes to take effect and log back in via SSH.
You should now see something like this for $ uname -r ubuntu@ip-172-33-23-109:~$ uname -r 3.16.0-56-generic
Now that our Kernel is upgraded, let’s proceed to install Docker on this instance before installing Docker UCP.
Follow the instructions Docker has provided here to get up to speed and once you can successfully run $ docker or $ sudo docker commands, we can move forward with the Docker UCP installation.
Now we want to edit the docker.list file. Add deb https://apt.dockerproject.org/repo ubuntu-trusty testing to: /etc/apt/sources.list.d/docker.list
Run a $ sudo apt-get upgrade and now we’re ready to install Docker UCP.
Run $ docker run –rm -it \
You should see something like:
INFO Verifying your system is compatible with UCP Please choose your initial Orca admin password: Confirm your initial password: INFO Pulling required images Please enter your Docker Hub username: denmanjd Please enter your Docker Hub password: Please enter your Docker Hub e-mail address: firstname.lastname@example.org INFO Pulling required images
Now if you navigate to https://your_public_aws_instance_ip:443 you’ll arrive at the Docker UCP login page. After logging in you should see the health status of your swarm and a GUI of what you’ve been used to accessing on the CLI!!! Amazing, right? You can even launch Docker containers from your DockerHub account. In my previous blogpost, we automated the process from local development, to cloud CI/CD with Travis-CI and and automated push to DockerHub. Now with a click of the button you can deploy that container into Production.
As Docker Partners, we at Levvel are absolutely excited to be on the forefront of uniting Docker and DevOps capabilities in both Startups and Enterprise spaces and we’d love to help you on your journey towards containerization with Docker.