More companies are adopting container technology to achieve things like developer efficiency, and while Docker remains a leader in container technology, Kubernetes is a choice for container orchestration and management, according to a recent ClusterHQ report. The most recent version of the open-source project, Kubernetes 1.5, includes several new features that can be beneficial and help teams optimize container usage in their organization.
The current state of containers has hit a tipping point, according to Red Hat’s director of product strategy, Brian Gracely, and businesses are finally saying that they need to be faster and more responsive as to what is going on in the market, he noted.
(Related: Kubernetes gets support for Windows Server 2016)
As companies try to iterate more quickly, they end up having to rely on individuals to update or make sure the systems are secure and scaling appropriately. Instead of doing these processes manually, companies can utilize Kubernetes so it run things automatically, said Gracely.
“[Kubernetes has] become this technology that we were able to leverage out of the big global web-scale cloud providers, and it’s becoming very applicable to lots of vertical businesses and lots of vertical industries,” he said.
When Kubernetes first came out, it was designed for the mindset of “Let’s use this technology to build new apps,” whether it be mobile or IoT or any other type of application, said Gracely. Now, the technology has created two paths for companies to take, where they can either apply the technology to new projects or figure out how they can add it to their portfolios, he said.
“The latest release of Kubernetes 1.5 is really the beginning of the Kubernetes community saying, ‘We have something really good, we are seeing a lot of adoption, we are seeing a lot of contribution, and we are seeing real customers say help us solve more problems,’ ” said Gracely.
Key features of Kubernetes 1.5
Kubernetes 1.5 introduced solutions for those looking to run a distributed database on Kubernetes, including solutions on how to guarantee application disruption service-level objectives (SLO) for stateful and stateless apps, according to the Kubernetes team. Kubernetes 1.5 is also special because StatefulSet and PodDisruptionBudget moved into beta. These features “provide an easier way to deploy and scale stateful applications, and make it possible to perform cluster operations like node upgrade without violating application disruption SLOs,” the team wrote.
Gracely said that StatefulSet allows companies to bring their applications right into a Kubernetes environment and run them in containers. The system gives teams much of the look and feel they had in their environments, but for customers, this means they have a more consistent platform and they do not lose out on functionality, he said.
Jorge Castro, cloud community liaison on the Canonical cloud developer operations team, said StatefulSets are “the most interesting” feature of the 1.5 release, mostly because it “allows traditional workloads to have a place in the new world.”
“It can be frustrating to hear about all the great things containers can provide you, and then finish that off with ‘…but you need to rewrite all your applications,’ ” he said. “That’s not an option for a large swath of enterprise applications. If I’m looking at cloud-native infrastructure for all my future applications, and I have still have to maintain infrastructure for traditional applications, now I have two problems.”
Castro added that StatefulSets gives traditional applications “a place to go,” so users can reap the benefits of Kubernetes without being forced to rewrite applications.
Kubernetes 1.5 sort of marks a passing over the hump of “It’s interesting technology; we should take a look at it,” to, “We’re actively testing our applications on it,” said Castro. In version 1.6, companies should expect to see new opportunities for the community to scale out its Kubernetes expertise and knowledge, which in turn leads to more contributors and participants, he said.
Another feature worth highlighting in this release is Federation, which means someone can take an individual Kubernetes environment and pair it or federate it with a second or multiple other Kubernetes environments to make them look like one pool of resources, said Gracely. He said this is important because companies can enable their data centers to use additional public cloud resources, allowing them to have a technology that allows them to think about how to go beyond the walls of their data center, but still have the visibility and control over what those environments look like.
Limitations of Kubernetes 1.5
StatefulSets, kubeadm and other features are still in beta, but they are seeing quick development, said Castro. The parts that still need work included installation, upgrades and configuration, because they are not where they should be, especially on bare metal, he said.
“Every organization is different, especially networking, so it can be challenging to help someone set up a cluster if they don’t have a high level of control of their infrastructure,” said Castro. “We strongly believe that the only way to do this is to stop treating bare metal as a unique snowflake and to model it like a cloud. Users who use metal-as-a-service to model their hardware and network as a cloud have a significantly easier time standing up Kubernetes.”
The one big thing Kubernetes will need to tackle is upgrades, because “releasing every three months is brutal for users,” said Castro.
“Nailing a reliable and repeatable upgrade process is the thing I’m most excited about in 2017,” he said.
Kubernetes community velocity
Kubernetes 1.5 was also evidence that its ecosystem is growing rapidly, which benefits partners like Canonical and Red Hat, which already provide commercial services for Kubernetes users.
Castro said Canonical stands up and operates Kubernetes for customers through a program called BootStack, which is similar to what Canonical has been doing with OpenStack for years. Canonical is also standing up a production Kubernetes cluster for its snap store, which will serve software packages to Arch, Fedora, Gentoo and Ubuntu users, said Castro.
Red Hat uses Kubernetes technology as the core of its OpenShift technology, and it delivers that as a software element to customers who want to run their own software. Red Hat also uses Kubernetes for its day-to-day operations for what it calls OpenShift Online or OpenShift Dedicated, said Gracely. This means Red Hat operates the technology for customers who just want to use containers and build new apps.
Besides checking out Kubernetes partners for additional resources, Gracely suggested Kubernetes users read about recently added features and updates of Kubernetes 1.5, and to have teams “get their hands dirty” by testing it out.