Kubernetes is an open source framework engineered to address the novel challenges of deploying, scaling, managing and ensuring availability of modern, multi-component containerized applications running on cloud infrastructure. It abstracts downward, offering infrastructure minders a node and cluster model that maps to IaaS assumptions and can be serviced by IaaS capabilities, policies and constructs. It abstracts upward to host, scale, and protect distributed container applications whose optimal topologies, scaling and availability strategies may differ markedly from those relevant to VM-hosted workloads. And it runs Docker, whose tools provide developers with simple methods for composing, managing and updating apps in containers through their lifecycles.
OpenStack, with its tools for automating operations and orchestrating application deployment and scaling at the infrastructure level, is, in many ways, an ideal IaaS hosting environment for Docker and Kubernetes. And with the release of Mirantis OpenStack 6.1 — hard on the heels of the OpenStack Foundation’s release of Community App Catalog — deploying and scaling Kubernetes on OpenStack has actually become simple. The Murano Application Catalog now serves as a point-and-click (or CLI-driven) onramp — not just to both these new technologies: Kubernetes/Docker and Docker-by-itself — but to thousands of vendor- and community-provided Dockerized apps at registry.hub.docker.com (or the enterprise repo of your choice).
As the video embedded below shows, Murano’s workflow lets you start your container adventure from any point in the potential stack of app/container/container host/optional container orchestrator you want to build. Start by downloading a Dockerized application package from Community App Catalog, and let Murano guide you through workflow to place this on a Docker Container package, then put the Docker Container on a Docker Standalone Host (basically an Ubuntu server image with Docker utilities onboard, which deploys onto a VM) or a Kubernetes Pod (a Kubernetes node abstraction designed to host multiple containers that should be treated as a single “application”) — if you choose the latter, you’ll configure the Kubernetes Cluster package which hosts the Pod, as well. Add more Docker apps (from Docker Hub or Community App Catalog), and then deploy. Murano creates the environment and hands you back floating IP and port information for accessing it. SSH into the deployed environment and all the expected utilities (e.g., docker, kubectl, etc.) are ready to use.
At this point, it’s hard to overstate the time-to-value importance of Murano as a tool for bootstrapping container and related PaaS technologies onto OpenStack, and putting them in front of end users. Scarcely less important (maybe even more important in the long run) is that Murano is now the gateway both to the ecosystem around OpenStack Community App Catalog, and to the ecosystems and communities packaging containerized applications and solutions.
Check out the Release Notes for Mirantis OpenStack 6.1, for more information.