Kubernetes is the star of the enterprise when it comes to container orchestration. Most manuals about migrating to containers begin with “Get yourself Kubernetes.” There has never been an enterprise takeover bid as big as the one Kubernetes poses right now and apart from cementing its lead over Swarm, native support for Kubernetes on Docker was announced at DockerCon Europe in Copenhagen in October, which means all future versions of Docker EE will seamlessly integrate with Kubernetes.
Kubernetes has emerged as the most popular container orchestrator being used by enterprises. According to a survey conducted as part of a recent SDxCentral report on container and cloud orchestration, 64 percent of respondents said they were using Kubernetes, 36 percent said they were using Docker Swarm, and 18 percent said they were using Apache Mesos.
CNCF is bringing all hands on board
The success of Kubernetes is felt all across its environment which should now probably be called the Kubernetes ecosystem rather than the Docker ecosystem. The Cloud Native Computing Foundation, which was originally built to support Kubernetes, is now home to over a dozen projects, with all major enterprise members on board as platinum members. The big highlight was AWS joining and giving up on their own orchestration project. That’s a huge development and sort of shows Kubernetes’ approval all over the enterprise.
The CNCF announced recently that it now has 36 members that have all agreed to a set of standards for Kubernetes. This motive here is to make the move from one version to another, safe, and predictable. The group of 36 is agreeing to a base set of APIs that have to underlie any version of Kubernetes to guarantee portability.
Kubernetes indeed became a defacto standard last year and any doubts whether it would work were laid to rest when non-Googlers headed the release process for Kubernetes v1.6.This was a milestone in terms of Kubernetes being accepted as the future of orchestration. Without orchestration, containers would need manual or “personal” attention, which isn’t something that’s scalable.
The KCSP program
The Kubernetes Certified Service Providers (KCSP) program was launched in September and is targeted at certifying vendors so companies can go through certified vendors only. The founding members include Accenture, Booze Allen Hamilton, Canonical, CoreOS, Giant Swarm, and Samsung SDS. Stability is what everyone is after, and Kubernetes is just that stabilizing factor. While the KCSP is clearly a CNCF effort to stabilize Kubernetes deployments, it remains to be seen whether conformance certification goes well with open source mentality.
While the desire is to ensure all compliant APIs will provide a consistent Kubernetes experience, it also implies that only compliant APIs will be able to do so. Vendors that want certification, however, can use an automated test suite to demonstrate their ability to meet the program’s standards. The test suite was developed by CNCF, the Kubernetes community, and its testing and architecture special interest groups.
CNCF Executive Director Dan Kohn was quoted saying that “The interoperability that this program ensures is essential to Kubernetes meeting its promise of offering a single open source software stack supported by many vendors that can deploy on any public, private, or hybrid cloud.” He also explained that they took a subset of existing Kubernetes project APIs, which are treated as a conformance test that members are guaranteeing to support. In practice, this means that when you spin up a new container, regardless of who creates the version of Kubernetes, it will behave in a consistent way.
Other CNCF projects gaining popularity are Prometheus for monitoring; Open Tracing for application flow monitoring; Fluentd for logging; Linkerd for service mesh, Containerd and Rkt for container runtimes; CNI for container native networking; Envoy for edge and service proxy, and Jaeger for distributed tracing.
Prometheus for Kubernetes monitoring
In a recent report on a survey of 470 container users, Prometheus was by far the most cited tool for monitoring Kubernetes clusters. In fact over 63 percent said they monitor their clusters using Prometheus, though almost 80 percent said they use at least one other tool as well. A Kubernetes monitoring took a step toward production and Prometheus 2.0 was released with a revamped storage engine.
Prometheus has a different approach from traditional tools since it creates a trail of time-series data that in turn pulls data from the Kubernetes infrastructure at regular intervals. This is why it is able to compile a complete picture of the application environment.
What we’re looking for with containers are ways to improve the system, and traditional monitoring fails here as it was designed to detect problems. The time-series approach gives us a better view of the overall picture so minor adjustments and tweaks can continue being made.
Azure Kubernetes Service
Azure Container Service also got an upgrade that puts Kubernetes at the center of its container strategy. Azure Container Service is being abbreviated as AKS, and no prizes for guessing what the ‘K’ stands for. The service was originally designed to manage containers, in general, using a variety of technologies from Docker, Mesosphere, Kubernetes, and more. The new plan, however, is that Kubernetes will now be the default technology for scaling and deploying containers on Azure.
This is probably because as interest in Kubernetes surged in 2017, Microsoft’s old method for running Kubernetes on Azure Container Service grew by over 300 percent. Microsoft's “ace in the hole” here is that while it will manage Kubernetes clusters for free, “You will pay nothing for the management of your Kubernetes cluster, ever,” wrote Gabe Monroy, lead program manager for Azure containers, in a blog post.
As for charges and other requirements, there are differences between Google Container Engine and Amazon Web Services. With Microsoft, while you’re still going to have to pay for the virtual machines required to actually do the computing on those nodes, there won’t be any additional charges for Kubernetes clusters.
Thanks to Kubernetes and Docker, the container space is full of cutting-edge technology that’s almost impossible to keep up with. Only two years ago, Kubernetes was starting to get attention and now an entire industry called “Kubernetes as a Service” revolves around it. Some examples of which are CoreOS Tectonic, Platform9, Kismatic, Heptio, Diamanti, and Hypernetes.
The fact that Kubernetes wasn’t stable and had a steep learning curve hasn’t been a deterrent at all and in fact, quite the opposite has happened with the entire enterprise getting together behind it to make it easier to use. This is probably the first and only time every major player has come forward to agree on something, and that something is Kubernetes being the standard for orchestration. This also goes to show the lengths enterprise customers will go to avoid using proprietary products and license agreements. With a blistering 2017, we can be sure that 2018 is going to bring even more consolidation in the Kubernetes ecosystem as the race for the best Kubernetes experience rages on.