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.
Check out the Getting Started Guide to create your first Kubernetes cluster on Apache CloudStack using Cluster API.
- 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
This provider's versions are able to install and manage the following versions of Kubernetes:
Kubernetes Version | v1.22 | v1.23 | v1.24 |
---|---|---|---|
CloudStack Provider (v0.4) | ✓ | ✓ | ✓ |
This provider's versions are able to work on the following versions of Apache CloudStack:
CloudStack Version | 4.14 | 4.15 | 4.16 | 4.17 |
---|---|---|---|---|
CloudStack Provider (v0.4) | ✓ | ✓ | ✓ | ✓ |
Note: Cluster API Provider CloudStack relies on a few prerequisites which have to be already installed in the used operating system images, e.g. a container runtime, kubelet, kubeadm, etc. Reference images can be found in kubernetes-sigs/image-builder.
Prebuilt images can be found below :
Hypervisor | Kubernetes Version | Rocky Linux 8 | Ubuntu 20.04 |
---|---|---|---|
KVM | v1.22 | qcow2, md5 | qcow2, md5 |
v1.23 | qcow2, md5 | qcow2, md5 | |
v1.24 | qcow2, md5 | qcow2, md5 | |
VMware | v1.22 | ova, md5 | ova, md5 |
v1.23 | ova, md5 | ova, md5 | |
v1.24 | ova, md5 | ova, md5 | |
XenServer | v1.22 | vhd, md5 | vhd, md5 |
v1.23 | vhd, md5 | vhd, md5 | |
v1.24 | vhd, md5 | vhd, md5 |
Are you interested in contributing to cluster-api-provider-cloudstack? We, the maintainers and community, would love your suggestions, contributions, and help! Also, the maintainers can be contacted at any time to learn more about how to get involved:
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.
If you think you have found a bug please follow the instructions below.
- Please spend a small amount of time giving due diligence to the issue tracker. Your issue might be a duplicate.
- Get the logs from the cluster controllers. Please paste this into your issue.
- Open a new issue.
- Remember that users might be searching for your issue in the future, so please give it a meaningful title to help others.
- Feel free to reach out to the Cluster API community on the Kubernetes Slack.
We also use the issue tracker to track features. If you have an idea for a feature, or think you can help Cluster API Provider CloudStack become even more awesome follow the steps below.
- Open a new issue.
- Remember that users might be searching for your issue in the future, so please give it a meaningful title to help others.
- Clearly define the use case, using concrete examples.
- Some of our larger features will require some design. If you would like to include a technical design for your feature, please include it in the issue.
- After the new feature is well understood, and the design agreed upon, we can start coding the feature. We would love for you to code it. So please open up a WIP (work in progress) pull request, and happy coding.
Thank you to all contributors and a special thanks to our current maintainers & reviewers:
Maintainers | Reviewers |
---|---|
@rohityadavcloud | @rohityadavcloud |
@davidjumani | @davidjumani |
@jweite-amazon | @jweite-amazon |
All the CAPC contributors: