March 18, 2019 By Sai Vennam 3 min read

What is a Kubernetes cluster?

The cloud offers myriad benefits to the enterprise, including flexibility, agility, portability, and cost control. With these benefits, however, comes the complexity of managing the cloud and delivering the apps that live in it. Kubernetes is a container orchestration platform that can help ease those complexities.

Clusters provide the architectural foundation for Kubernetes. Think of clusters as building blocks that enable rapid, controlled cloud app delivery. A Kubernetes cluster is a set of connected machines that work together as a single unit. They consist of worker nodes, which represent a compute host on which one can deploy, run, and manage containerized apps. Worker nodes are managed by master nodes, which schedule containers onto the worker nodes by choosing where to deploy them based on available capacity and user-defined configuration.

Scripts specify container configuration and what resources are needed to run the app, such as persistent storage, services, and so on. In Kubernetes, pods are the smallest deployable units in a cluster, and they group containers that must be treated as a single unit. Kubernetes creates pods to host application instances. Pods hold one or more app containers and share resources, such as storage or networking information.

The evolution toward Kubernetes orchestration

The advent of containers helped simplify cloud computing. Containers package together code and all its dependencies, allowing a software stack to run no matter what environment it’s in. Though containers offered discrete packages, they also complicate management issues. The challenge was to find a way to make these efficient, lightweight packages work together. Orchestration was the next evolution in simplifying multicloud environments.

To learn more about containerization, check out our video, “Containerization Explained.”

For more of a background on container orchestration, see our video “Container Orchestration Explained.”

Kubernetes provides an open source platform for managing containerized workloads and microservices. This allows developers to overcome the differences in cloud providers by applying standards and consistency across the board for container-based applications. The platform is container-centric and orchestrates storage, networking, and compute in service of user workloads.

With Kubernetes, users can focus on what functionality they want from their cloud apps rather than building out platform-specific capabilities. The underlying Kubernetes architecture is what powers that capability.

For a closer look at the container orchestration capabilities of Kubernetes, see “Kubernetes vs. Docker: It’s Not an Either/Or Question”:

Kubernetes cluster architecture

Kubernetes clusters are the building blocks of Kubernetes, and they provide the architectural foundation for the platform. The modularity of this building block structure enables availability, scalability, and ease of deployment.

Today’s workloads demand high availability at both the application and infrastructure levels. By creating a layer of abstraction between apps and their underlying infrastructure, Kubernetes distributes workload efficiently across available resources. Kubernetes guards against app failure with constant node and container health checks. If a container goes down, self-healing and replication resolve the failure. Built-in load balancers distribute the workload over open resources to lessen the impact of traffic spikes, peaks, or outages.

This same efficient use of resources plays a role in scaling. Adding and removing new servers is simplified, allowing for seamless horizontal scaling. Automated auto-scaling increases running containers based on specified metrics. Replication controls terminate excess pods if too many are running or starts pods if there are too few.

For a deeper dive into the architecture of Kubernetes, check out the following video—”Kubernetes Explained”:

Speed is essential for developers. Kubernetes is designed to accommodate the rapid build, test, and release of software. New or updated versions are propagated through automated rollout. It also works well with canary releases, letting new version deployments run parallel to prior versions, verifying the dependability of the new version before rolling it into full production.

Kubernetes cluster monitoring via Prometheus

As containerized apps become more granular and independent, monitoring becomes a challenge. That challenge extends to Kubernetes cluster monitoring. Traditional monitoring indicates if a program, service, or tool is up (running) or down (not running). For microservices, the up/down approach is too stark since a single-function microservice might be down without causing a business impact. Modern monitoring tools must offer more refined distinctions and integrate better with diverse platforms and mutable apps.

Prometheus—an open-source logging, monitoring, and alerting tool—is designed for the portability and mutability of multicloud environments, and it overcomes traditional monitoring limitations. It derives rich metrics from Kubernetes clusters, worker nodes, and deployments. Prometheus uses key-value pairs, which work well with how Kubernetes organizes metadata. Prometheus regularly scrapes and auto-discovers data targets, making it a good match for ephemeral workloads.

Kubernetes Clusters and IBM

IBM Cloud Kubernetes Service is a managed container service for the rapid delivery of applications that can bind to advanced services like Watson and blockchain. IBM Cloud Kubernetes Service speeds app development for DevOps teams. With Kubernetes, developers quickly deploy highly available apps by accessing the flexibility and power of clusters. As a managed service, teams reduce time spent on environment setup. Containerization and automation eliminate software dependencies and remove conflicts from operating in changeable environments. Without the distraction of management, teams focus more fully on app function and delivery.

Want to get some free, hands-on experience with Kubernetes? Take advantage of IBM CloudLabs, a new interactive platform that offers Kubernetes tutorials with a certification—no cost or configuration needed.

Get the IBM Cloud account type that is right for you.

Was this article helpful?
YesNo

More from Cloud

How a US bank modernized its mainframe applications with IBM Consulting and Microsoft Azure

9 min read - As organizations strive to stay ahead of the curve in today's fast-paced digital landscape, mainframe application modernization has emerged as a critical component of any digital transformation strategy. In this blog, we'll discuss the example of a US bank which embarked on a journey to modernize its mainframe applications. This strategic project has helped it to transform into a more modern, flexible and agile business. In looking at the ways in which it approached the problem, you’ll gain insights into…

The power of the mainframe and cloud-native applications 

4 min read - Mainframe modernization refers to the process of transforming legacy mainframe systems, applications and infrastructure to align with modern technology and business standards. This process unlocks the power of mainframe systems, enabling organizations to use their existing investments in mainframe technology and capitalize on the benefits of modernization. By modernizing mainframe systems, organizations can improve agility, increase efficiency, reduce costs, and enhance customer experience.  Mainframe modernization empowers organizations to harness the latest technologies and tools, such as cloud computing, artificial intelligence,…

Modernize your mainframe applications with Azure

4 min read - Mainframes continue to play a vital role in many businesses' core operations. According to new research from IBM's Institute for Business Value, a significant 7 out of 10 IT executives believe that mainframe-based applications are crucial to their business and technology strategies. However, the rapid pace of digital transformation is forcing companies to modernize across their IT landscape, and as the pace of innovation continuously accelerates, organizations must react and adapt to these changes or risk being left behind. Mainframe…

IBM Newsletters

Get our newsletters and topic updates that deliver the latest thought leadership and insights on emerging trends.
Subscribe now More newsletters