Kubernetes-native declarative infrastructure for vSphere.
The Cluster API brings declarative, Kubernetes-style APIs to cluster creation, configuration and management. Cluster API Provider for vSphere is a concrete implementation of Cluster API for vSphere.
The API itself is shared across multiple cloud providers allowing for true vSphere 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 for launching a cluster on vSphere.
- Native Kubernetes manifests and API
- Manages the bootstrapping of VMs on cluster.
- Choice of Linux distribution between Ubuntu 18.04 and CentOS 7 using VM Templates based on OVA images.
- Deploys Kubernetes control planes into provided clusters on vSphere.
- Doesn't use SSH for bootstrapping nodes.
- Installs only the minimal components to bootstrap a control plane and workers.
This provider's versions are compatible with the following versions of Cluster API:
Cluster API v1beta1 (v1.3) | Cluster API v1beta1 (v1.4) | Cluster API v1beta1 (v1.5) | Cluster API v1beta1 (v1.6) | |
---|---|---|---|---|
CAPV v1beta1 (v1.5) | ✓ | ✓ | ☓ | ☓ |
CAPV v1beta1 (v1.6) | ✓ | ✓ | ☓ | ☓ |
CAPV v1beta1 (v1.7) | ✓ | ✓ | ☓ | ☓ |
CAPV v1beta1 (v1.8) | ☓ | ☓ | ✓ | ☓ |
CAPV v1beta1 (v1.9) | ☓ | ☓ | ☓ | ✓ |
As CAPV doesn't dictate supported K8s versions, and it supports whatever CAPI supported, about the provider's compatibility with K8s versions, please refer to CAPI Supported Kubernetes Versions.
Basically:
- 4 Kubernetes minor releases for the management cluster (N - N-3)
- 6 Kubernetes minor releases for the workload cluster (N - N-5)
NOTES:
- We aim to cut a CAPV minor release approximately one week after the corresponding CAPI minor release is out.
- We aim to cut a CAPV minor or patch release with support for a new Kubernetes minor version approximately 3 business days after releases for CAPI and CPI that support the new Kubernetes version are available.
Note: These OVAs are not updated for security fixes and it is recommended to always use the latest versions for distribution packages and patch version for the Kubernetes version you wish to run. For production-like environments, it is highly recommended to build and use your own custom images.
Note: We recently moved the OVAs from a VMware-owned GCP project (https://storage.googleapis.com/capv-templates/) to the community-owned CAPV GCP project (https://storage.googleapis.com/artifacts.k8s-staging-capi-vsphere.appspot.com/templates/). Going forward new OVAs will only be uploaded to the community-owned CAPV GCP project.
Kubernetes | Ubuntu 18.04 | Ubuntu 20.04 | Ubuntu 22.04 | Photon 3 | Photon 5 | Flatcar Stable |
---|---|---|---|---|---|---|
v1.24.11 | ova, sha256 | ova, sha256 | N/A | ova, sha256 | N/A | ova, sha256 |
v1.25.7 | ova, sha256 | ova, sha256 | N/A | ova, sha256 | N/A | ova, sha256 |
v1.26.2 | ova, sha256 | ova, sha256 | N/A | ova, sha256 | N/A | ova, sha256 |
v1.27.3 | ova, sha256 | ova, sha256 | ova, sha256 | ova, sha256 | N/A | ova, sha256 |
v1.28.0 | ova, sha256 | ova, sha256 | ova, sha256 | ova, sha256 | N/A | ova, sha256 |
v1.29.0 | N/A | N/A | ova, sha256 | ova, sha256 | ova, sha256 | ova, sha256 |
A full list of the published machine images for CAPV may be obtained with the following command:
gsutil ls "gs://artifacts.k8s-staging-capi-vsphere.appspot.com/templates/*"
Or, to produce a list of URLs for the same image files (and their checksums), the following command may be used:
gsutil ls "gs://artifacts.k8s-staging-capi-vsphere.appspot.com/templates/*" | grep -e ".ova" -e ".sha256" | sed 's~^gs://~https://storage.googleapis.com/~'
Further documentation is available in the /docs
directory.
Are you interested in contributing to cluster-api-provider-vsphere? 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.
In the interest of getting more new people involved we tag issues with good first issue
. These are typically issues that have smaller scope but are good ways to start to get
acquainted with the codebase.
We also encourage ALL active community participants to act as if they are maintainers, even if you don't have "official" write permissions. This is a community effort, we are here to serve the Kubernetes community. If you have an active interest and you want to get involved, you have real power! Don't assume that the only people who can get things done around here are the "maintainers".
We also would love to add more "official" maintainers, so show us what you can do!
This repository uses the Kubernetes bots. See a full list of the commands here.
Participating in the project is governed by the Kubernetes code of conduct. Please take some time to read the code of conduct document.
- Bi-weekly on Zoom on Thursdays @ 10:00am Pacific. Convert to your time zone.
- Previous meetings: [ notes ]
Please check in with us in the #cluster-api-vsphere channel on Slack or email us at our [mailing list][mailing_list]
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.
- Follow the helpful tips provided in the troubleshooting document as needed.
- 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 CAPV 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. EG: I type
this
and cluster-api-provider-vsphere doesthat
. - 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.