All Projects → kubernetes-sigs → cluster-api-provider-openstack

kubernetes-sigs / cluster-api-provider-openstack

Licence: Apache-2.0 license
cluster-api-openstack.sigs.k8s.io/

Programming Languages

go
31211 projects - #10 most used programming language
shell
77523 projects
Makefile
30231 projects
python
139335 projects - #7 most used programming language
Smarty
1635 projects
Dockerfile
14818 projects

Projects that are alternatives of or similar to cluster-api-provider-openstack

system-validators
A set of system-oriented validators for kubeadm preflight checks.
Stars: ✭ 22 (-88.24%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-ibmcloud
Cluster API Provider for IBM Cloud
Stars: ✭ 46 (-75.4%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-nested
Cluster API Provider for Nested Clusters
Stars: ✭ 240 (+28.34%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-docker
A Cluster API Provider implementation using docker containers as the infra provider. Cluster API locally for a change!
Stars: ✭ 51 (-72.73%)
Mutual labels:  k8s-sig-cluster-lifecycle
Kubespray
Deploy a Production Ready Kubernetes Cluster
Stars: ✭ 11,588 (+6096.79%)
Mutual labels:  k8s-sig-cluster-lifecycle
Cluster Api
Home for Cluster API, a subproject of sig-cluster-lifecycle
Stars: ✭ 1,992 (+965.24%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-hcloud
Cluster API infrastructure provider for Hetzner's Hcloud
Stars: ✭ 26 (-86.1%)
Mutual labels:  k8s-sig-cluster-lifecycle
image-builder
Cross provider Kubernetes image building utility.
Stars: ✭ 187 (+0%)
Mutual labels:  k8s-sig-cluster-lifecycle
cluster-api-provider-digitalocean
The DigitalOcean provider implementation of the Cluster Management API
Stars: ✭ 85 (-54.55%)
Mutual labels:  k8s-sig-cluster-lifecycle
bootkube
This project now lives at https://github.com/kinvolk/bootkube
Stars: ✭ 1,168 (+524.6%)
Mutual labels:  k8s-sig-cluster-lifecycle

Kubernetes Cluster API Provider OpenStack

Go Report Card


Kubernetes-native declarative infrastructure for OpenStack.

What is the Cluster API Provider OpenStack

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 OpenStack 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 OpenStack

Features

  • Native Kubernetes manifests and API
  • Choice of Linux distribution (as long as a current cloud-init is available)
  • Support for single and multi-node control plane clusters
  • Deploy clusters with and without LBaaS available (only cluster with LBaaS can be upgraded)
  • Support for security groups
  • cloud-init based nodes bootstrapping

Compatibility with Cluster API and Kubernetes Versions

This provider's versions are compatible with the following versions of Cluster API:

v1alpha3 (v0.3) v1alpha4 (v0.4) v1beta1 (v1.x)
OpenStack Provider v1alpha3 (v0.3)
OpenStack Provider v1alpha4 (v0.4)
OpenStack Provider v1alpha4 (v0.5)
OpenStack Provider v1alpha5 (v0.6)
OpenStack Provider v1alpha6

This provider's versions are able to install and manage the following versions of Kubernetes:

v1.16 v1.17 v1.18 v1.19 v1.20 v1.21 v1.22 v1.23 v1.24
OpenStack Provider v1alpha3 (v0.3)
OpenStack Provider v1alpha4 (v0.4)
OpenStack Provider v1alpha4 (v0.5) + + +
OpenStack Provider v1alpha5 (v0.6) +
OpenStack Provider v1alpha6 +

This provider's versions are able to install Kubernetes to the following versions of OpenStack:

Pike Queens Rocky Stein Train Ussuri Victoria Wallaby Xena
OpenStack Provider v1alpha3 (v0.3) + + +
OpenStack Provider v1alpha4 (v0.4) + + + + + +
OpenStack Provider v1alpha4 (v0.5) + + + + + +
OpenStack Provider v1alpha5 (v0.6) + + + + + +
OpenStack Provider v1alpha6 + + + + + +

Test status:

  • tested
  • + should work, but we weren't able to test it

Each version of Cluster API for OpenStack will attempt to support two Kubernetes versions.

NOTE: As the versioning for this project is tied to the versioning of Cluster API, future modifications to this policy may be made to more closely aligned with other providers in the Cluster API ecosystem.

NOTE: The minimum microversion of CAPI using nova is 2.53 now due to server tags support, see code for additional information.

NOTE: We require Keystone v3 for authentication.


Development versions

ClusterAPI provider OpenStack images and manifests are published after every PR merge and once every day:

These artifacts are published via Prow and Google Cloud Build. The corresponding job definitions can be found here.


Operating system images

Note: Cluster API Provider OpenStack relies on a few prerequisites which have to be already installed in the used operating system images, e.g. a container runtime, kubelet, kubeadm,.. . Reference images can be found in kubernetes-sigs/image-builder. If it isn't possible to pre-install those prerequisites in the image, you can always deploy and execute some custom scripts through the KubeadmConfig.


Documentation

Please see our book for in-depth documentation.

Getting involved and contributing

Are you interested in contributing to cluster-api-provider-openstack? 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 try to 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. Please also refer to the Contribution Guide and the Development Guide for this project.

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Github issues

Bugs

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.

Tracking new features

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 OpenStack 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.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].