Control Plane Types
The control plane is the part of a Kubernetes cluster that manages the cluster state and serves the Kubernetes API. When you create a Kubernetes cluster with Private Cloud Director, you choose how the cluster's control plane runs. Your worker nodes, where your applications actually run, are the same either way and only where the control plane is provisioned is different.
This article explains the differences between two control plane types - Managed and Colocated - and helps you pick the right one for your use case.
Overview
A Kubernetes cluster comprises of a control plane (API server, controller-manager, scheduler, and the etcd datastore) and a set of worker nodes. In Private Cloud Director you decide, per cluster, where the control plane lives:
A Managed control plane runs as a service operated for you. You do not provision or maintain control plane components.
A Colocated control plane runs its own services on your infrastructure, alongside the cluster's worker nodes.
Both cluster types run standard Kubernetes and are managed through the same interface. You can use them both simultaneously and choose the type for each cluster, based on your needs. In this guide you will learn how the two types differ, how your deployment model affects them, and when to choose each.
If you are new to Kubernetes, please see the Kubernetes documentation for in-depth concepts.
Managed Control Plane
With a Managed control plane, the cluster's control plane runs as a lightweight service that is operated for you - on the Platform9-managed cloud (SaaS) or on your Private Cloud Director management plane (self-hosted). You never provision or manage control plane nodes; they are managed for you.
Where a Managed control plane lives depends on your deployment model:
SaaS: your Kubernetes control planes run on the Platform9-managed cloud. Platform9 operates that infrastructure for you.
Self-hosted: your Kubernetes control planes run on your own Private Cloud Director management plane, inside your data center or private cloud. See Self-Hosted Deployments.
Note
With the SaaS deployment model, since a Managed control plane runs on the Platform9-managed cloud, it depends on continued network connectivity from your environment. If that connectivity is lost or unstable, the control plane and the worker nodes cannot reach each other: applications already running on the worker nodes keep running, but you cannot manage the cluster - scheduling, scaling, and API operations - until connectivity is restored. If your cluster operations cannot tolerate any loss of connectivity to the Platform9 cloud, use a Colocated control plane.
Fast to create. Because there are no dedicated control plane nodes to boot, a new cluster's control plane is ready relatively quickly. This suits development, testing, CI pipelines, and any workflow where you frequently create and tear down clusters.
Efficient. Managed control planes share common infrastructure, so each cluster carries a small footprint. You can run more clusters for the same capacity.
Fully managed. The control plane components are operated for you. There is less for your team to size, patch, and maintain.
Keep in mind:
Managed control planes share the same underlying infrastructure. For most workloads this is invisible, but it means clusters are not completely independent of one another or of the platform.
A Managed control plane depends on connectivity between the worker nodes and the platform that hosts it (see the note above, which applies to the SaaS model).
The infrastructure hosting the control planes grows as you add more managed clusters. In SaaS that is Platform9's responsibility; in self-hosted, your platform team plans management plane capacity centrally.
Colocated Control Plane
With a Colocated control plane, each cluster gets its own dedicated control plane nodes - running on your own infrastructure alongside its worker nodes - with its own dedicated datastore. A Colocated control plane always runs on your own infrastructure, in both deployment models.
Strong isolation. Each cluster's control plane runs on its own dedicated nodes, so another cluster's activity does not affect it.
Independent of the platform. The control plane does not depend on connectivity to the Platform9 cloud.
Built for high availability. A Colocated control plane runs multiple control plane nodes, so the cluster keeps running normally even if one of them is lost.
Keep in mind:
Creating a cluster takes longer, because dedicated control plane nodes have to be provisioned and joined - the same way virtual machines take time to boot.
Each cluster consumes dedicated compute capacity on your infrastructure for its control plane, in addition to its worker nodes. More clusters means more control plane nodes to run.
Comparison of the Two Types
Where the control plane runs
Platform9-managed cloud (SaaS) or your management plane (self-hosted)
Dedicated nodes on your infrastructure, with the worker nodes
Time to create a cluster
Fast - no control plane nodes to boot
Longer - control plane nodes are provisioned and joined
Per-cluster footprint
Small; shares common infrastructure
Dedicated control plane nodes per cluster
Isolation between clusters
Shares underlying infrastructure
Dedicated control plane per cluster
Dependence on Platform9 cloud connectivity (SaaS)
Yes - control plane is unreachable if connectivity is lost
No - control plane runs locally
How to Decide
Ask these questions about the cluster you are about to create:
Will I create and destroy this cluster often? Fast-iteration and short-lived clusters lean toward a Managed control plane.
Do you want to manage control plane capacity yourself, or leave it to the platform? If you'd rather not provision or size control plane nodes, choose Managed.
On the SaaS deployment model, connectivity to the Platform9 cloud may be lost. If the control plane must stay accessible regardless, choose a Colocated control plane. This is not a consideration on self-hosted.
Must this cluster survive platform maintenance untouched? If yes, choose Colocated.
Frequently Asked Questions
Do my applications run differently on the two types? No. Your workloads run on worker nodes, which behave the same regardless of control plane type. The choice affects how the control plane is hosted, not how your applications run.
Can I change a cluster's control plane type later? The control plane type is chosen when the cluster is created. To switch, create a new cluster of the desired type and migrate workloads to it.
Is one type more reliable or faster than the other? Both are designed for reliability. A Colocated control plane runs on dedicated nodes, so its responsiveness is consistent and not affected by other clusters. A Managed control plane shares infrastructure, which is efficient, though a busy neighboring cluster can have an effect on its responsiveness. The right choice depends on your isolation, predictability, and connectivity requirements.
Which should I use if I am not sure? Start with a Managed control plane - it gets you moving fastest and works for production too. Move to a Colocated control plane if you need dedicated control plane isolation or independence from Platform9 cloud connectivity.
Next Steps
Last updated
Was this helpful?
