With the recent launch of the 1.0 release of Google’s Kubernetes, the open source container orchestration system, there were a lot of resources coming out of the woodwork. The release was the result of over 400 contributors, and there have already been over 790 commits to the master since its release.
Many companies and products are now offering support or integration with Kubernetes as it grows rapidly in popularity and as more and more companies are moving to container-centric approaches. As with Docker and other emerging technologies, the 1.0 release means (to some degree) that Google is touting Kubernetes as “production-ready.”
Kubernetes in Production
Here is the list of launch features that makes Kubernetes a production-ready product:
App Services, Network, Storage
- Includes core functionality critical for deploying and managing workloads in production, including DNS, load balancing, scaling, application-level health checking, and service accounts
- Stateful application support with a wide variety of local and network based volumes, such as Google Compute Engine persistent disk, AWS Elastic Block Store, and NFS
- Deploy your containers in pods, a grouping of closely related containers, which allow for easy updates and rollback
- Inspect and debug your application with command execution, port forwarding, log collection, and resource monitoring via CLI and UI.
- Upgrade and dynamically scale a live cluster
- Partition a cluster via namespaces for deeper control over resources. For example, you can segment a cluster into different applications, or test and production environments.
Performance and Stability
- Fast API responses, with containers scheduled < 5s on average
- Scale tested to 1000s of containers per cluster, and 100s of nodes
- A stable API with a formal deprecation policy
While there is still going to be a lot of hard vetting ahead for Kubernetes for development and operations teams, the Kubernetes 1.0 release does seem to add a lot to the capabilities of teams doing container management. Google also had a bit of backup from a list of companies claiming to already use Kubernetes in production environments. That list of early adopters included Box, eBay, Red Hat, Samsung SDS, Shippable, and Zulily. What will be especially interesting is to see some specific material coming from these companies about how they use Kubernetes in production.
Kubernetes Ecosystem Partnerships
Another big focus of the Kubernetes launch has been demonstrating the growing community of users and vendors that are creating, supporting, and integrating products to work with the container management solution. Three official partners announced their own solutions:
Tectonic Preview is now available for an out-of-the-box Kubernetes cluster ready for your containers, a powerful and user-friendly dashboard, and regularly scheduled updates for cluster software.
Cloudbees and the Jenkins community announced three official plugins: a Kubernetes Plugin, Docker Build and Publish Plugin, and Docker Custom Build Environment.
Hitachi Data Systems announced support and community validation of Kubernetes on Hitachi Unified Compute Platform (UCP).
It was also announced that Google is working together with the Linux Foundation and industry partners including Docker, IBM, VMWare, Intel, Cisco, Joyent, CoreOS, Mesosphere, Univa, Red Hat, and others, to create Cloud Native Computing Foundation (CNCF). The role of the CNCF is going to be to work with communities and vendors to create standards and expanded toolsets for container technologies—and it's Google's plan to seed this new organization with Kubernetes. Having a central project organization can be a pretty big help for technologies with such a big impact on software development—it's a model that's worked well for the Linux Foundation, OpenStack Foundation, and Cloud Foundry Foundation.