gardener-extension-provider-vsphere

module
v0.25.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 2, 2023 License: Apache-2.0, MIT

README

Gardener Extension for vSphere provider

CI Build status Go Report Card

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:

Directories

Path Synopsis
gardener-extension-provider-vsphere
Package chart enables go:generate support for generating the correct controller registration.
Package chart enables go:generate support for generating the correct controller registration.
cmd
Package example contains generated manifests for all CRDs and other examples.
Package example contains generated manifests for all CRDs and other examples.
pkg
apis/config/v1alpha1
Package v1alpha1 contains the vSphere provider configuration API resources.
Package v1alpha1 contains the vSphere provider configuration API resources.
apis/vsphere/v1alpha1
Package v1alpha1 contains the vSphere provider API resources.
Package v1alpha1 contains the vSphere provider API resources.
cmd
test
tm

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL