Overview
The Gardener Extension for vSphere is a GEP-1 provider implementation that allows Gardener to leverage vSphere clusters for machine provisioning.
vSphere is an undeniable class leader for commercially supported virtual machine orchestration. The Gardener extension for vSphere provider compliments this leadership by allowing Gardener to create Kubernetes nodes within vSphere.
Like other Gardener provider extensions, the vSphere provider pairs with a provider-specific Machine Controller Manager providing node services to Kubernetes clusters. This extension provides complimentary APIs to Gardener. A Gardener-hosted Kubernetes
cluster does not know anything about it's environment (such as bare metal vs. public cloud or within a hyperscaler vs. standalone), only that the MCM abstraction can manage requests such as cluster autoscaling.
An example for a ControllerRegistration
resource that can be used to register this controller to Gardener can be found here.
Please find more information regarding the extensibility concepts and the architecture details in the GEP-1 proposal.
Use Cases
The primary use case for this extension is organizations who wish to deploy a substantial Gardener landscape and use vSphere for data center fleet management. We intentionally sidestep prescribing any particular extension as this is
an intimately local determination and the benefits of different solutions are more than adequately debated in industry literature.
While we may inadvertently duplicate some documentation in the mainline Gardener documentation, it is only to reduce tedium as new evaluators and developers come up-to-speed with the concepts relevant to successful deployment.
We refer directly to the mainline Gardener documentation for the most up-to-date information.
Supported Kubernetes versions
This extension controller supports the following Kubernetes versions:
Version |
Support |
Conformance test results |
Kubernetes 1.26 |
untested |
not yet available |
Kubernetes 1.25 |
untested |
not yet available |
Kubernetes 1.24 |
untested |
not yet available |
Kubernetes 1.23 |
untested |
not yet available |
Kubernetes 1.22 |
untested |
not yet available |
Kubernetes 1.21 |
untested |
not yet available |
Kubernetes 1.20 |
untested |
not yet available |
Older versions of the extension (v0.16.0
and earlier) are supported prior to current releases.
Please take a look here to see which versions are supported by Gardener in general.
Deployment patterns
As with any production software, deployment of Gardener and this extension should be considered in the context of both lifecycle and automation. Orgs should aspire to have apply
How to start using or developing this extension controller locally
You can run the controller locally on your machine by executing make start
.
Static code checks and tests can be executed by running make verify
. We are using Go modules for Golang package dependency management and Ginkgo/Gomega for testing.
Feedback and Support
Feedback and contributions are always welcome. Please report bugs or suggestions as GitHub issues or join our Slack channel #gardener (please invite yourself to the Kubernetes workspace here).
Learn more!
Please find further resources about out project here: