The Kubernetes Cluster API (CAPI) provider for Apache CloudStack allows Kubernetes users to build and manage resources on Apache CloudStack. The provider is available under the Apache 2 open-source license and has been donated to the Cloud Native Computing Foundation (CNCF) and was developed by Amazon Web Services (AWS) and ShapeBlue.
CAPI is a Kubernetes sub-project focused on providing declarative APIs and tooling to simplify provisioning, upgrading, and operating multiple Kubernetes clusters.
Started by the Kubernetes Special Interest Group (SIG) Cluster Lifecycle, the CAPI project uses Kubernetes-style APIs and patterns to automate cluster lifecycle management for platform operators. CAPI relies on infrastructure providers to provision the underlying infrastructure components.
Apache CloudStack is open-source software designed to deploy and manage large networks of virtual machines, as a highly available, highly scalable Infrastructure as a Service (IaaS) cloud computing platform and is increasingly used as a foundational layer beneath Kubernetes deployments.
What is the Cluster API Provider CloudStack
The Cluster API brings declarative, Kubernetes-style APIs to cluster creation, configuration and management. The API itself is shared across multiple cloud providers allowing for true Apache CloudStack hybrid deployments of Kubernetes. It is built atop the lessons learned from previous cluster managers such as kops and kubicorn.
Launching a Kubernetes cluster on Apache CloudStack
If users want to launch a Kubernetes cluster on Apache Cloudstack, they can check out the Getting Started Guide to create your first Kubernetes cluster on Apache CloudStack using Cluster API.
CAPI Providers and Amazon’s EKS-Anywhere
CAPI providers are a key element to Amazon’s EKS-Anywhere (EKS-A), which allows its customers to create and operate Kubernetes clusters on customer-managed infrastructure supported by AWS. EKS-A relies on CAPI providers being available for its customer’s infrastructure. There is a significant demand for it from customers who operate large environments based on Apache CloudStack.
“EKS-Anywhere is an open-source project. You get consistent control for running Kubernetes on-premises and in the cloud. Our goal is to give customers simplified installation and Kubernetes operational management tooling. It is fully supported by AWS. We have a rich partner ecosystem, and ShapeBlue is one of the key partners we work with.”, said Vipin Mohan,
AWS and ShapeBlue’s Engineering Teams Collaboration
Giles Sirett, CEO of ShapeBlue, commented, “This has been a really successful collaboration with Amazon Web Services. The two organisations had different reasons for wanting to develop the CAPI provider initially, but our end goals were the same. From the outset, we agreed that the provider must be available for all to use, irrespective of whether they intend to adopt EKS-A or not, and should be donated to the CNCF as an open-source project.”
AWS and ShapeBlue engineering teams collaborated for a period of a few months – ensuring the provider would support any deployment of Kubernetes and Apache CloudStack , whether the users were running EKS-A or not.
The provider supports the following capabilities:
- Native Kubernetes manifests and API
- Choice of Linux distribution (as long as a current cloud-init is available). Tested on Ubuntu, Centos, Rocky and RHEL
- Support for single and multi-node control plane clusters
- Deploy clusters on Isolated and Shared Networks
- cloud-init based nodes bootstrapping
Rohit Yadav, VP of Engineering at ShapeBlue, commented, “As well as developing this provider, we want to ensure that it is maintained and developed as both CAPI and Apache CloudStack themselves develop. The logical home for this ongoing collaboration is the CNCF, and we intend to continue our collaboration there.”
The provider is available for download and is integrated with ClusterCTL.
Read more about the Kubernetes Cluster API (CAPI) provider for Apache CloudStack: https://cluster-api-cloudstack.sigs.k8s.io/
Developer Guide: https://cluster-api-cloudstack.sigs.k8s.io/development/index.html
Get involved and contribute:
Are you interested in contributing to cluster-api-provider-cloudstack? The maintainers and community, would love your suggestions, contributions, and help! Join here: cluster-api-cloudstack channel on Kubernetes Slack