Cluster API Provider Packet
Already corralled containers with Kubernetes? Time to corral multiple clusters by enabling one as “manager.”
On this page
What is it?
If managing multiple clusters has become more complex or time-consuming than expected, it may be time to implement Cluster API. While the Kubernetes API corrals containers into clusters, Cluster API allows a single "manager" cluster to manage other "workload" clusters' creation, configuration, and deletion. This is the promise of “cluster lifecycle management.”
This can be especially helpful when one wants a single pane of glass to manage clusters with different purposes and users. The managing cluster coordinates Kubernetes version updates and node expansion of the workload clusters. This allows you to manage the associated cluster nodes via infrastructure as code.
Combine this with a GitOps provider and you have a truly state of the art cluster management system.
Why do we love it?
-
Infrastructure as Code: Set up the entire lifecycle management of clusters through declarative code that can be versioned, updated, and repeated. Stop manually creating, configuring, upgrading, and deleting clusters.
-
Unified API: Learn one workflow to rule them all. Cluster API uses the same powerful Equinix Metal API used by other projects like our Terraform Library and metal-go.
-
Zero-Downtime Upgrades: Since changes execute by first rolling in new nodes and then rolling out old ones, there is no downtime. This is a huge improvement over the traditional method of upgrading clusters. Additionally, cluster creation with Cluster API is so fast and easy that it makes setting up a new cluster to test new versions a breeze.
How do you use it?
- Create or choose a bootstrap cluster to turn into your first management cluster
- Ensure you have the Cluster API binary for your machine
- Get your project API key
- Use clusterctl to deploy the Cluster API Provider Packet infrastructure provider
- Use clusterctl to create a yaml file that represents a workload cluster
- Optionally edit that yaml file manually or with automation tools to add further node pools and/or different device configurations
- Apply that yaml to the management cluster and watch on the Equinix Metal Console as the new cluster is created
- Deploy the Cloud Provider for Equinix Metal to the workload cluster
- Deploy a CNI to the workload cluster, our default is ready for Calico
See the extremely useful Cluster API book, the Equinix Metal examples in the Quick Start guide, and the Cluster API Provider Packet Readme for much more information.
Let us know about your experience with this project on the Equinix Community.
Interested in other Equinix API integrations with Kubernetes? Let us know.
Load Balanced Kubernetes Cluster with Cluster API
Learn how to deploy a load balanced Kubernetes cluster using Cluster API.