How OpenStack and Kubernetes co-exist in Telco networks
As telecommunications networks continue to get bigger, faster and more complex, the need for cloud-native tools that can rapidly manage resources and their underlying infrastructure has become crucial. To solve this problem, perhaps no two tools have gained as much popularity as OpenStack or Kubernetes.
The similarities between Kubernetes and OpenStack are well-documented: they’re both open source tools, they both let you operate independently of any underlying hardware, and they’re both incredibly useful for automating the development and maintenance of your applications.
However, while the capabilities of these two platforms often overlap, their operational principles are very different.
What is OpenStack?
OpenStack is an infrastructure-as-a-service (IaaS) platform that provides the essential building blocks for managing a virtual cloud (both public and private). Describing itself as “the most widely deployed open source cloud software in the world”, OpenStack can provide the cloud infrastructure for virtual machines, bare metal, and containers too.
To put it simply, For Telcos, OpenStack supports virtualized network functions (VNFs), organizes those functions into clouds, and allows users to manage those clouds through APIs and simple dashboards. Additional components include orchestration, fault management and service management, all of which can be deployed as and when needed, thanks to OpenStack’s modular framework.
What is Kubernetes?
Kubernetes (often referred to as “K8S”) is technically ‘younger’ than OpenStack, but differs in the fact that it is primarily a container orchestration platform. The system allows developers to automate the deployment, scaling and management of containerized applications and network functions (CNFs)— therefore altering components within a container without impacting the rest of the surrounding tech stack.
Some of the key features of Kubernetes include automated rollouts and rollbacks, service discovery and load balancing, horizontal scaling and built-in extensibility. Kubernetes is particularly useful within a telco context too, as its ability to take care of scaling and failover issues means it’s capable of running distributed systems with a high level of resilience. And to blur the lines with OpenStack, Kubernetes is also capable of managing virtualized workloads.
For more information, view our previous blog on Kubernetes.
How OpenStack and Kubernetes are benefiting telco networks
Kubernetes and OpenStack are providing the flexibility, scalability, and automation that is required for modern telco networks to thrive. By allowing telcos to pool and virtualize resources in a streamlined platform, OpenStack enables the rapid scaling of network infrastructure. Meanwhile, the containerized applications of Kubernetes mean resources can be dynamically scaled based on demand — a particularly helpful feature when handling fluctuating network traffic patterns.
Together, the two tools offer a flexible platform for deploying and managing a wide range of workloads — including core network functions and edge computing applications. They can automate the entire lifecycle of network services (from initial deployment to subsequent updates), all the while allowing telcos to move away from expensive, hardware-based solutions.
This has become increasingly important in the era of 5G, where dynamic scaling, network function virtualization (NFV), and microservices-based applications are essential for realizing the full potential of 5G's low latency and high bandwidth.
OpenStack and Kubernetes: Virtualization meets containerization
While the purpose of OpenStack is to provide the underlying infrastructure, the purpose of Kubernetes is to manage applications that run on that infrastructure.
However, while it can be tempting just to choose one solution, the complementary nature of OpenStack and Kubernetes means they are much more powerful when working together. Running one tool on top of the other (or next to it, depending on your architecture) allows you to reap the rewards of both virtualization and containerization, addressing the limitations of each tool without adding too much complexity. This is particularly true when it comes to hybrid deployments of VNFs and CNFs coexisting in the same architecture. Telcos grew accustomed to these deployments because of the complexity of their workloads and their stringent security, compliance, and network requirements.
So, should you run Kubernetes on OpenStack, or should you run OpenStack on Kubernetes?
Running Kubernetes on OpenStack
Running Kubernetes on OpenStack is much easier than running it on bare metal, as OpenStack provides all the necessary infrastructure resource provisioning — just with added scalability. This means you can integrate core OpenStack services with your Kubernetes clusters, giving you more control of key elements within your containerized applications (such as storage and networking requirements). The multi-tenant nature of OpenStack also means that individual users can benefit from their own cloud resources and build clusters on demand. It also means that you can lean on OpenStack for creating isolated worker nodes for your Kubernetes cluster, thanks to the Nova API and its performance underneath virtualization modules.
In short… if you want to manage your containerized applications on top of a much more robust infrastructure, then running Kubernetes on OpenStack might be the option for you.
Some popular Kubernetes-on-OpenStack solutions include…
Running OpenStack on Kubernetes
The main benefit of running OpenStack on Kubernetes is that it decouples OpenStack’s services from the underlying operating system and hardware, allowing you to manage those services more easily in isolation within containers. Whereas OpenStack can at times be a complex solution, especially for updates and upgrades, standardizing it via Kubernetes can result in a relatively lightweight architecture. As such, performing historically complex tasks (such as network upgrades and security patching) becomes much easier with this setup.
In short… if you want a more modernized, simplified OpenStack deployment that’s truly cloud-native, running OpenStack on Kubernetes might be your best bet.
Some popular OpenStack-on-Kubernetes solutions include…
- Red Hat OpenStack Services on OpenShift
- Mirantis OpenStack for Kubernetes
- Platform9 Managed OpenStack on Kubernetes
- VEXXHOST Atmosphere
How to choose the right OpenStack / Kubernetes solution for you
For telco organizations looking to incorporate a Kubernetes-on-OpenStack / OpenStack-on-Kubernetes solution, asking the following questions will help you make the right choice…
- Can the solution handle the kinds of complex, large-scale, multi-cloud environments that are common in telco?
- Can the solution support the high levels of availability required in telecommunications networks?
- Does the vendor provide a strong level of user support?
- How complex is the solution to deploy and maintain?
- Is the solution 100% open-source or will it “lock you in”?
Hands-on OpenStack and Kubernetes training with LabLabee
If you want to upskill your development team and learn everything you need to know about OpenStack and Kubernetes, LabLabee’s hands-on training labs provide the practical experience and in-depth knowledge needed. You can learn how to master OpenStack with training in an all-in-one OpenStack environment, or enhance your telco cloud orchestration skills with Kubernetes.
Looking for more? Explore our full collection of hands-on training labs and upskill your team today.


%20copy%204.png)
.png)