Kubernetes Cluster API Provider Hetzner provides a consistent deployment and day 2 operations of "self-managed" Kubernetes clusters on Hetzner.
The Kubernetes Cluster API Provider Hetzner enables declarative provisioning of multiple Kubernetes clusters on Hetzner infrastructure.
High-available Kubernetes clusters on bare metal and cloud instances are supported.
The Cluster API simplifies the creation, updates, and operation of production-ready clusters. Self-managed Kubernetes clusters can, therefore, be easily operated even at a large scale.
Disclaimer: This is not an official Hetzner project! It is maintained by Syself. If you have questions or are interested in running production-ready Kubernetes clusters on Hetzner, then please contact us via e-mail: [email protected].
The Cluster API orchestrates infrastructure similar to the way Kubernetes manages containers. It implements a declarative API like Kubernetes does and extends the resources of the Kubernetes API server via CRDs.
The Cluster API consists of the CAPI controller, the control-plane provider, the bootstrap provider, and an infrastructure provider.
The controllers ensure that the desired state of the infrastructure is achieved - just as Kubernetes ensures the desired state of containers. The concept of Kubernetes Controller has significant advantages over Infrastructure as Code (IaC) solutions because it can react automatically to changes and problems. The best example of this is the MachineHealthCheck, which replaces unhealthy nodes automatically.
Using the Cluster API Provider Hetzner (CAPH) unites the benefits of declarative infrastructure, cost-effectiveness, and (GDPR-compliant) European cloud.
Supporting your Kubernetes journey is our priority at Syself.
If you require expert assistance in managing production-ready clusters with CAPH, connect with the seasoned experts at Syself.
Contact us via [email protected] for top-notch support on your Kubernetes adventure.
If you are new to Kubernetes, we want you to know that managing a production-grade Kubernetes system requires a dedicated team of experts.
The Cluster API Provider Hetzner (CAPH) deals with the lifecycle management of machines and infrastructure.
Here are several aspects that CAPH will not handle for you:
If you don't have a dedicated team for managing Kubernetes, you can use Syself Autopilot and enjoy a multitude of benefits including:
If you're looking to jump straight into it, go ahead:
In addition to the pure creation and operation of Kubernetes clusters, this provider can also validate and approve certificate signing requests. This increases security as the kubelets of the nodes can be operated with signed certificates. This enables the metrics-server to run securely. Click here to read more about the CSR controller.
This provider's versions are compatible with the following versions of Cluster API:
Cluster API v1beta1 (v1.5.x ) |
Cluster API v1beta1 (v1.6.x ) |
|
---|---|---|
Hetzner Provider v1.0.0-beta.26 |
✓ | ☓ |
Hetzner Provider v1.0.0-beta.27 |
☓ | ✓ |
This provider's versions can install and manage the following versions of Kubernetes:
Hetzner Provider v1.0.x |
|
---|---|
Kubernetes 1.23.x | ✓ |
Kubernetes 1.24.x | ✓ |
Kubernetes 1.25.x | ✓ |
Kubernetes 1.26.x | ✓ |
Kubernetes 1.27.x | ✓ |
Kubernetes 1.28.x | ✓ |
Test status:
✓
tested+
should work, but we weren't able to test itEach version of Cluster API for Hetzner will attempt to support at least 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 align with other providers in the Cluster API ecosystem.
Note: Cluster API Provider Hetzner relies on a few prerequisites, which have to be already installed in the used operating system images, e.g. a container runtime, kubelet, and Kubeadm. Reference images can be found in kubernetes-sigs/image-builder and templates/node-image. If it isn't possible to pre-install these prerequisites in the image, you can always deploy and execute some custom scripts through the Kubeadm config. Read more...
Docs can be found in the /docs
directory. Here you can find an overview of our documentation.
Are you interested in contributing to Cluster API Provider Hetzner? We, the maintainers and community, would love your suggestions, contributions, and help! If you want to learn more about how to get involved, you can contact the maintainers at any time.
To set up your environment, try out the development guide.
In the interest of getting more new people involved, we tag issues with
good first issue
.
These are typically issues that have a smaller scope but are good for getting 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 would also love to add more "official" maintainers, so show us what you can do!
Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.
If you think you have found a bug, please follow these steps:
We also use the issue tracker to track features. If you have an idea for a feature or think that you can help Cluster API Provider Hetzner become even more awesome, then follow these steps:
this
and
Cluster API Provider Hetzner does that
".