Skip to content

Commit 144d592

Browse files
authored
Add BM gardener documentation (#85)
1 parent febfbe7 commit 144d592

File tree

3 files changed

+30
-4
lines changed

3 files changed

+30
-4
lines changed

docs/.vitepress/config.mts

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -125,7 +125,6 @@ export default withMermaid({
125125
{ text: 'Overview', link: '/baremetal/architecture' },
126126
{ text: 'Discovery', link: '/baremetal/architecture/discovery' },
127127
{ text: 'Provisioning', link: '/baremetal/architecture/provisioning' },
128-
{ text: 'Maintenance', link: '/baremetal/architecture/maintenance' },
129128
],
130129
},
131130
{

docs/baremetal/kubernetes/capi.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# Cluster API (CAPI) for IronCore Bare Metal
22

3-
The Cluster API (CAPI) for IronCore bare metal is a project that provides a declarative way to manage bare metal
4-
Kubernetes clusters using the Cluster API framework. It maps the CAPI concepts to the IronCore's `metal-operator`
5-
API types.
3+
The [Cluster API (CAPI) for IronCore bare metal](https://github.com/ironcore-dev/cluster-api-provider-ironcore-metal)
4+
is a project that provides a declarative way to manage bare metal Kubernetes clusters using the Cluster API framework.
5+
It maps the CAPI concepts to the IronCore's `metal-operator` API types.
66

77
The diagram below illustrates the architecture of the Cluster API for IronCore bare metal:
88

docs/baremetal/kubernetes/gardener.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,28 @@
11
# Gardener Integration with IronCore Bare Metal
2+
3+
Apart from the [Cluster API Provider for Bare Metal](/baremetal/kubernetes/capi), IronCore is also integrated with
4+
[Gardener](https://gardener.cloud), a Kubernetes-native project for managing Kubernetes clusters at scale.
5+
6+
There are two main components in the Gardener integration with IronCore:
7+
- **Machine Controller Manager (MCM)**: This component is responsible for managing the lifecycle of machines in a
8+
Kubernetes cluster. It uses the `metal-operator` API types to provision and manage bare metal servers.
9+
- **Gardener Extension Provider**: This component provides the necessary integration points for Gardener to manage bare
10+
metal clusters.
11+
12+
## Machine Controller Manager (MCM)
13+
14+
The `[machine-controller-manager-provider-ironcore](https://github.com/ironcore-dev/machine-controller-manager-provider-ironcore-metal)`
15+
is responsible for managing the lifecycle of `Nodes` in a Kubernetes cluster. Here the MCM in essence is translating
16+
Gardener `Machine` resource to `ServerClaims` and wrapping the `user-data` coming from the Gardner OS extensions into
17+
an Ignition `Secret`.
18+
19+
## Gardener Extension Provider
20+
21+
The [`gardener-extension-provider-ironcore-metal`](https://github.com/ironcore-dev/gardener-extension-provider-ironcore-metal)
22+
is responsible for providing the necessary integration points for Gardener to manage bare metal clusters.
23+
24+
Those integration points include:
25+
- Configure and the [Cloud Controller Manager](/baremetal/kubernetes/cloud-controller-manager) to handle the `Node` lifecycle
26+
and topology information.
27+
- Configure the [metal-load-balancer-controller](/baremetal/kubernetes/metal-loadbalancer-controller) to handle `Service` of type `LoadBalancer`.
28+
- Configure the [Machine Controller Manager (MCM)](#machine-controller-manager-mcm) to manage the creation of `Nodes` in the cluster.

0 commit comments

Comments
 (0)