December 18, 2015
TABLE OF CONTENTS
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.
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 -rubuntu@ip-172-33-23-109:~$ uname -r3.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 $ sudodocker 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 \-v /var/run/docker.sock:/var/run/docker.sock
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.
Businesses face a higher bar for application performance than ever before. Users will simply abandon a service that is not responsive enough. Performance testing enables teams to develop more efficient code that makes an application run smoothly.
Levvel CEO Chris Hart spoke at HMG Strategy's CIO Executive Leadership Summit event. In this video series, Hart talks about effective collaboration, communication, and culture in the c-suite, as well as how technology sharpens the competitive edge.
At the end of lunch with a mentee, I used the items on our table to express the fundamental concepts of Kubernetes. Sometime after explaining the purpose of the Kubernetes scheduler, she asked a question I spent the next several weeks thinking about.
API design is crucial, giving structure to application interaction. Given cross-functional teams and applications, development time is reduced with a clear, intuitive way to access data. API development often follows two approaches: REST and GraphQL.