Skip to content

Commit 6b4063a

Browse files
committed
update machine controller docs
Signed-off-by: rajaSahil <sahilraja242@gmail.com>
1 parent 0f43e85 commit 6b4063a

File tree

40 files changed

+7641
-447
lines changed

40 files changed

+7641
-447
lines changed

content/machine-controller/_index.en.md

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,4 +3,6 @@ title = "machine-controller Docs"
33
sitemapexclude = true
44
+++
55

6-
Manage machines at cloud providers using a declarative Kubernetes API, compatible with the Kubernetes cluster-autoscaler.
6+
The Kubermatic machine-controller is a Kubernetes-native tool responsible for managing the lifecycle of worker nodes across various cloud providers using declarative Kubernetes APIs.
7+
8+
For detailed documentation, please visit the [machine-controller documentation]({{< ref "./main/" >}}).
Lines changed: 62 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,60 +1,103 @@
11
+++
2-
title = "machine-controller"
2+
title = "Kubermatic machine-controller"
33
date = 2024-05-31T07:00:00+02:00
4+
weight = 7
5+
description = "Learn how to use Kubermatic machine-controller to manage worker nodes across multiple cloud providers in a declarative way using Kubernetes native APIs."
46
+++
57

6-
# machine-controller
8+
## What is machine-controller?
9+
10+
The Kubermatic machine-controller is a Kubernetes-native tool responsible for managing the lifecycle of worker nodes across various cloud providers. It uses the [Cluster API][1] to define machines as Kubernetes resources, enabling declarative management of worker nodes in Kubernetes clusters.
11+
12+
The machine-controller works in conjunction with the [Operating System Manager][2] to handle the provisioning and configuration of worker nodes across multi-cloud and on-premise environments.
13+
14+
[1]: https://cluster-api.sigs.k8s.io/
15+
[2]: https://docs.kubermatic.com/operatingsystemmanager
16+
17+
## Motivation and Background
18+
19+
Kubernetes provides powerful abstractions for managing containerized workloads, but managing the underlying infrastructure (worker nodes) can be challenging, especially in multi-cloud environments. The machine-controller solves this problem by:
20+
21+
- **Declarative Node Management**: Define machines as Kubernetes custom resources, allowing you to manage infrastructure using familiar Kubernetes tools and patterns.
22+
- **Multi-Cloud Support**: Provision and manage worker nodes across different cloud providers (AWS, Azure, GCP, OpenStack, etc.) using a consistent API.
23+
- **Integration with Cluster API**: Leverages the industry-standard Cluster API for machine lifecycle management.
24+
- **Automated Operations**: Handle node provisioning, upgrades, and decommissioning automatically based on declared state.
725

826
## Features
927

1028
### What Works
1129

12-
- Creation of worker nodes on
30+
- **Creation of worker nodes** on the following cloud providers:
1331
- Alibaba Cloud
1432
- AWS
1533
- Azure
1634
- DigitalOcean
1735
- Google Cloud Platform
1836
- Hetzner Cloud
1937
- KubeVirt
38+
- Linode
2039
- Nutanix
40+
- OpenNebula
2141
- OpenStack
2242
- VMware Cloud Director
2343
- VMware vSphere
24-
- Using any of these supported distributions ([not all distributions work on all providers](/docs/operating-system.md):
44+
- Vultr
45+
46+
- **Operating System Support**: Multiple Linux distributions are supported:
2547
- Amazon Linux 2
2648
- Flatcar Linux
2749
- RedHat Enterprise Linux (RHEL)
2850
- Rocky Linux
2951
- Ubuntu
3052

31-
### What Doesn't Work
32-
33-
- Creation of control plane nodes (not planned at the moment, consider using 3rd party tools like
34-
[KKP](https://github.com/kubermatic/kubermatic) or [KubeOne](https://github.com/kubermatic/kubeone))
53+
{{% notice note %}}
54+
Not all operating systems work on all cloud providers. Please refer to the [Operating Systems]({{< ref "./references/operating-systems/" >}}) documentation for compatibility details.
55+
{{% /notice %}}
3556

36-
## Supported Kubernetes Versions
57+
### Supported Kubernetes Versions
3758

38-
machine-controller tries to follow the Kubernetes version
39-
[support policy](https://kubernetes.io/docs/setup/release/version-skew-policy/) as close as possible.
59+
machine-controller follows the Kubernetes [version support policy][3] as closely as possible.
4060

41-
Currently supported Kubernetes versions are:
61+
Currently supported Kubernetes versions:
4262

4363
- 1.34
4464
- 1.33
4565
- 1.32
4666
- 1.31
4767

48-
## Community Providers
68+
[3]: https://kubernetes.io/docs/setup/release/version-skew-policy/
4969

50-
Some cloud providers implemented in machine-controller have been graciously contributed by community
51-
members. Those cloud providers are not part of the automated end-to-end tests run by the
52-
machine-controller developers and thus, their status cannot be guaranteed. The machine-controller
53-
developers assume that they are functional, but can only offer limited support for new features or
54-
bugfixes in those providers.
70+
### Community Providers
5571

56-
The current list of community providers is:
72+
Some cloud providers implemented in machine-controller have been graciously contributed by community members. These providers are not part of the automated end-to-end tests and their status cannot be fully guaranteed. The machine-controller developers assume they are functional but can only offer limited support for new features or bugfixes.
73+
74+
**Community-supported providers:**
5775

5876
- Linode
5977
- Vultr
6078
- OpenNebula
79+
80+
### What Doesn't Work
81+
82+
- **Control plane node creation**: This is not planned at the moment. For full cluster lifecycle management including control plane, consider using [Kubermatic Kubernetes Platform (KKP)][4] or [KubeOne][5].
83+
84+
[4]: https://github.com/kubermatic/kubermatic
85+
[5]: https://github.com/kubermatic/kubeone
86+
87+
## Table of Content
88+
89+
{{% children depth=5 %}}
90+
{{% /children %}}
91+
92+
## Further Information
93+
94+
- [machine-controller - GitHub Repository](https://github.com/kubermatic/machine-controller)
95+
- [Operating System Manager](https://docs.kubermatic.com/operatingsystemmanager)
96+
- [Cluster API Documentation](https://cluster-api.sigs.k8s.io/)
97+
98+
Visit [kubermatic.com](https://www.kubermatic.com/) for further information.
99+
100+
{{% notice tip %}}
101+
For latest updates follow us on Twitter [@Kubermatic](https://twitter.com/Kubermatic)
102+
{{% /notice %}}
103+

0 commit comments

Comments
 (0)