Search⌘ K
AI Features

Running Applications on Kubernetes

Explore how to run cloud-native applications on Kubernetes by selecting and managing various cluster topologies. Understand the advantages and disadvantages of topologies like single shared clusters, cluster per application, and cluster per environment. Learn how to use tools like Helm and kustomize to simplify configuration and support GitOps practices for multiple environments.

Cluster topology

There are a variety of cluster topologies that arrange how application workloads will run on Kubernetes. In most enterprise scenarios, an application is deployed into multiple environments, such as a production environment for end-user usage and then several preproduction environments for testing by the development team. Within an enterprise portfolio, there will be many applications that require these environments. For example, the figure below depicts multiple applications running within multiple environments:

Running this matrix of applications and environments on Kubernetes requires development teams to choose a strategy for organizing and dispersing these instances of applications across one or more clusters. Several cluster topologies are available to arrange these instances, each having its own advantages and disadvantages. Before provisioning clusters to support applications within an enterprise, it is important to carefully consider which approach works best for the scenario.

Single shared cluster

One approach is to deploy all application instances into the same cluster. In this scenario, the preproduction and production instances of all applications run within a single shared cluster.

In this topology, each instance of an application is logically divided using a unique namespace that provides some amount of isolation ...