NEW! Mirantis Academy -   Learn confidently with expert guidance and On-demand content.   Learn More

< BLOG HOME

Docker on OpenStack with Kubernetes

Craig Peters - May 16, 2015

If you’re building applications for OpenStack and deploying them with Docker containers, you need a powerful, usable management tool to integrate with OpenStack. Google, with its extensive experience operating a cloud using container technology, developed the open source Kubernetes orchestration system to manage containerized applications in a clustered environment.

Mirantis and Google have joined forces to bring the Kubernetes container management to OpenStack using Murano by creating a Kubernetes package. Murano enables developers to self-service provision Kubernetes clusters from the Murano browsable catalog.

Kubernetes, like OpenStack, is a fast-moving open source project that can be a huge challenge to digest without help.  At the OpenStack Summit in Vancouver, Kit Merker from Google and I are giving a presentation on using Docker on OpenStack with Kubernetes where we’ll demonstrate not only how to manage containers with Kubernetes, but the agility, control, and scale you can achieve with Kubernetes.

Following is an overview of what we’ll be covering.

Docker, meet Kubernetes. Kubernetes meet Murano

Lightweight, easy-to-use, and extensible, Kubernetes manages containerized applications across multiple hosts, providing a simpler way to deploy, maintain, and scale applications. It also provides a cloud-independent level of abstraction for Dockerized applications, making it easier to move workloads between public, private, and hybrid clouds, which enables application operation across cloud technologies.

More specifically, Kubernetes is a system for managing Dockerized applications that are made up of smaller component services, which must be scheduled in resource groups with the same networking conditions for the application to work as intended.

To consolidate service management, Kubernetes uses “pods” and “labels” to group an application’s containers into logical units for easy management and discovery. A pod is the basic Kubernetes work-based unit. While Docker containers are not assigned to hosts, Kubernetes groups closely-related containers together in a pod, which represents one or more containers that should be controlled as a single group.

Kubernetes provides a layer over the pod infrastructure providing scheduling and services management of Docker containers. Labels basically act as a user-defined tag placed above the pod to mark them as a part of a group. Kubernetes labels enable services to select containers based on the assigned tag, allowing the services to retrieve a list of backend servers to pass traffic to. After labeling pods, you can then manage and target them for action.

What’s in it for you?

With Kubernetes and Murano you get:

  • Orchestration for sophisticated multi-tier, scale-out applications managed within containers

  • Google’s best practices for Docker container management

  • Easy Kubernetes integration with OpenStack Murano

  • OpenStack’s flexible infrastructure management and cost savings

  • Application integration to simplify moving workloads across different types of clouds

Docker-based application development is faster and easier with Kubernetes and Murano. Download Mirantis OpenStack and try the Kubernetes integration today. And please join us for our presentation at the OpenStack Summit!

Choose your cloud native journey.

Whatever your role, we’re here to help with open source tools and world-class support.

GET STARTED
NEWSLETTER

Subscribe to our bi-weekly newsletter for exclusive interviews, expert commentary, and thought leadership on topics shaping the cloud native world.

JOIN NOW